【发布时间】:2015-01-12 11:32:05
【问题描述】:
我有一个具有隔离作用域的指令,它通过引用获取一个作用域变量
angular.module('myApp')
.directive('myDirective', function() {
return {
scope: {
items: '='
},
templateUrl: 'template.html',
replace: true,
controller: 'myDirectiveCtrl',
controllerAs: 'ctrl'
};
})
.controller('myDirectiveCtrl', function($scope) {
this.items = $scope.items;
});
这是这样传入的:
<div my-directive items='items'></div>
在外部控制器中异步加载数据并更新传递给指令的范围项:
angular.module('myApp', [])
.controller('myCtrl', function($scope) {
$scope.setItems = function() {
$scope.items = [
'Here',
'There',
'Everywhere'
];
};
});
加载数据时,我的指令之外的范围会更新,但内部不会更新
我的html:
<div my-directive items='items'></div> <!-- this doesn't update -->
Outside directive
<ul ng-repeat='i in items'> <!-- this does update -->
<li>{{i}}</lu>
</ul>
<button ng-click="setItems()">Set items</button>
如何在我的指令中获取我的范围以进行更新?我要吗
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope