У меня есть контроллер, который я написал, который я использую в нескольких местах в своем приложении с ng-include
и ng-repeat
, например:
<div
ng-repeat="item in items"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
В контроллере/шаблоне я ожидаю, что значение item
будет существовать, и все это построено вокруг этой идеи. Теперь, однако, мне нужно использовать контроллер несколько иначе, без ng-repeat
, но все же нужно иметь возможность передать в item
. Я видел ng-init
и думал, что он может делать то, что мне нужно, например:
<div
ng-init="item = leftItem"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
<div
ng-init="item = rightItem"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
Но это, похоже, не работает. У кого-нибудь есть идеи, как я могу передать переменную для области в единственном экземпляре, подобном этому?
Изменить:
Контроллер над этим загружается в значениях leftItem
и rightItem
, примерно так:
.controller('MainController', function($scope, ItemModel) {
ItemModel.loadItems()
.then(function(items) {
$scope.$apply(function() {
$scope.leftItem = items.left;
$scope.rightItem = items.right;
});
});
});