我有一个控制器,其中包含一个从服务器获取一些数据的函数。我将这些数据存储在一个服务变量中。这个服务然后被注入一个指令。我希望指令自动更新,只要这个函数被调用并且数据被更新。将服务变量绑定到指令?
我的控制器:
angular
.module('myApp')
.controller('myCtrl', ['$scope', 'SomeService', function($scope, SomeService) {
$scope.update = function() {
SomeService.myValue = 100;
}
}]);
的指令:
angular.module('myApp')
.directive('myDirective', ['SomeService', function(SomeService) {
return {
templateUrl : 'views/myDirective.html',
restrict : 'E',
scope : false,
controller : function($scope) {
this.myValue = SomeService.myValue;
}
};
}]);
模板:
<div>
{{ myValue }}
</div>
一个按钮被按下时,更新函数被调用,它更新myvalue的到新的价值。我希望它自动反映在指令中。
普拉克:http://plnkr.co/edit/OUPzT4MFS32OenRIO9q4?p=preview
谢谢!我跟着这个,我可以访问链接功能中的数据。但令人惊讶的是,我在指令中看不到它! – 2014-11-05 13:30:32
@RutwickGangurde你能告诉我究竟在哪里? – sylwester 2014-11-05 13:31:54
那还有一件事......我没有明确地将控制器分配给指令。我在指令中使用的数据是一个对象。我可以在链接功能中看到它。但是当我在指令模板中使用它时,它不可见。 – 2014-11-05 14:36:54