shr*_*hrw 21 angularjs angularjs-scope
具有第三方库回调函数的服务:
mbAppModule.service('aService', function ($http) {
this.data={"somedata":0};
var m3rdPartLib="init"; // init
m3rdPartLib.on('timeupdate', function() {
this.data.somedata=1;
});
}
Run Code Online (Sandbox Code Playgroud)
还有一个控制器
mbAppModule.controller({
MController: function ($scope, $http, mService) {
$scope.mService= mService;
});
});
Run Code Online (Sandbox Code Playgroud)
HTML页面
{{mService.data.somedata}}
Run Code Online (Sandbox Code Playgroud)
m3rdPartLib.on()是第三方库回调函数,我在服务中使用它.我希望在ui中显示它,因为它正在更新.在回调时,值会发生变化,但不会反映在ui上.
阅读一些文档,发现$ rootScope.$ apply可以被调用,但我没有在服务中引用$ scope/$ rootScope.
Mar*_*man 26
您可以依赖$rootScope并在您的服务中调用apply.
mbAppModule.service('aService', ["$http", "$rootScope", function ($http, $rootScope) {
this.data = {
"somedata": 0
};
var m3rdPartLib = "init"; // init
m3rdPartLib.on('timeupdate', function () {
$rootScope.$apply(function(){
this.data.somedata = 1;
});
});
}]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40943 次 |
| 最近记录: |