У меня есть приложение AngularJS и используйте ui-router для маршрутизации. Одна из моих страниц имеет два похожих раздела с тем же шаблоном и логикой (поэтому я надеюсь, что они смогут использовать один и тот же контроллер). Единственная разница между ними - это, например, type
. Вот упрощенная скрипка страницы: http://jsfiddle.net/e_gluhotorenko/XeX59/7/.AngularJS ui-router views with custom data
Так можно ли предоставить пользовательские разные данные в области просмотра? Что-то вроде пользовательских данных в штатах, но и для просмотров:
views: {
'section1' : {
templateUrl: 'section.html',
controller : 'ctrl',
data : { type: 'type1'}
},
'section2' : {
templateUrl: 'section.html',
controller : 'ctrl',
data : { type: 'type2'}
}
}
Или с ui-view
директива, как в ng-inclide
«s onload
:
<div ui-view="section1" onload="type = 'type1'"></div>
<div ui-view="section2" onload="type = 'type2'"></div>
Я думаю, что 'ng-init' следует вызывать в родительской области, поэтому мы просто дважды инициализируем' type' из родительской области. Проверьте это http://jsfiddle.net/GXLZm/1/ –
@ e.gluhotorenko. Ваш jsfiddle, кажется, делает то, что я предложил, чтобы вызвать 'ng-init' на этих двух div. Я просто написал только один из двух разделов. Jsfiddle всегда лучше, хотя, хорошо! – BramSlob
, но он не работает, как вы ожидали, да? –