Reputation: 3164
I have an AngularJS app and use the ui-router for routing. One of my pages has two similar sections with the same template and logic (so I hope they can use the same controller). The only difference between them is for example type
property. Here is simplified fiddle of the page: http://jsfiddle.net/e_gluhotorenko/XeX59/7/.
So Is it possible to provide custom different data to the views's scopes ? Something like custom data in states but for views:
views: {
'section1' : {
templateUrl: 'section.html',
controller : 'ctrl',
data : { type: 'type1'}
},
'section2' : {
templateUrl: 'section.html',
controller : 'ctrl',
data : { type: 'type2'}
}
}
Or with ui-view
directive like in ng-inclide
's onload
:
<div ui-view="section1" onload="type = 'type1'"></div>
<div ui-view="section2" onload="type = 'type2'"></div>
Upvotes: 1
Views: 2996
Reputation: 3164
Just found out that ui-view
actually has onload
attribute, it is absent in documentation but is in API ref. So my example from the question works! fiddle
Upvotes: 2
Reputation: 11
Did you try ng-init
as in <div ui-view="section1" ng-init="type = 'type1'"></div>
?
That should work, I would link the angular docs for ng-init
, but the site seems to be down right now
Upvotes: 1