【发布时间】:2014-10-27 14:43:49
【问题描述】:
我有一个模板,它从服务中获取数据。服务中的数据由指令更新。
数据更新后,不会在模板中更新。
// In my template
{{service.get()}}
// In my service
.service('service', function($http){
var _val = 5;
return{
get:function(){
return val;
},
set:function(val){
_val = val;
}
};
});
// In my directive
var someDirective = angular.module('app.someDirective',[]);
someDirective.directive('someDirective', ['service', function(service) {
return function(scope, element, attrs){
$(element).on('scroll', function(event){
service.set(15);
});
};
}]);
如果我在任何其他地方(如其他控制器)调用 service.set(x),它可以 100% 正常工作。
也许有人知道,我做错了什么。 (非常感谢)
编辑 为了更清楚一点:
当页面加载时,显示“5”(正确)。 但是当值应该更新时,service.set() 函数被正确调用(来自指令),但模板中没有任何变化。
如果我调用 service.set() 其他方法,它可以工作(值在模板中更新)。
【问题讨论】:
标签: javascript angularjs