You are looking for Isolate Scopes. They allow pretty much everything you
are asking for. You should be using a service to "grab" the data, but a
controller should be using the service.

In other words, a parent controller would load those 0,1,2 or 3 models and
then pass each to an isolate scope.

As an added bonus,  if you really want it reusable, I would make your scope
definition and controller logic such that a promise or object could be
passed to the scope ( using $q.when works ).


On Mon, Aug 24, 2015 at 6:32 PM, Mason Gup <[email protected]> wrote:

> I used to do mostly WPF/WinForms development, and we're using mostly
> Angular at my new company. I'm working on getting my head around the
> Angular way to do things, and there's one part that I can't seem to find an
> Angular equivalent or alternative for.
>
> In WPF, I can build a UI component for something that's used in multiple
> places at multiple levels, and create it in code, passing an object to
> display to it. In any interface I build that uses this, I can include zero,
> one, or multiple of these components, and since they get created and passed
> their data in the code for the parent object, it's clear what data they're
> displaying and where it's coming from, with the child items having no
> dependency on the parent item structure.
>
> I can't seem to find a clean way to do anything like this in Angular. I
> can create a child Controller and attach it to a child item inside a parent
> with the usual ngController directive, and even do several of them per
> page, but I can't seem to find a good way to pass data to it from the
> parent. Using ngInit seems to kind of make sense, as I can pass a
> particular item on the parent $scope to a particular variable on the child
> scope, but this is apparently not the Angular way, and I'm supposed to be
> using a Service instead.
>
> But since Services are singletons, I don't understand how I can have 0, 1,
> 2, or 3 child controllers and pass each of them data from a different
> variable in the parent controller without introducing dependencies on the
> parent in the child. I could create a service and have the parent item
> store the data in it, and have the child controller retrieve it, but if I
> had 3 copies of the same child controller, all displaying data from a
> different object that the parent has, how would each one know what to get
> from the service?
>
> --
> You received this message because you are subscribed to the Google Groups
> "AngularJS" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/angular.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to