gpt4 book ai didi

用于更新 Controller 范围的 Angularjs 服务回调

转载 作者:行者123 更新时间:2023-12-03 11:39:46 25 4
gpt4 key购买 nike

具有第 3 方库回调函数的服务:

mbAppModule.service('aService', function ($http) {
this.data={"somedata":0};
var m3rdPartLib="init"; // init
m3rdPartLib.on('timeupdate', function() {
this.data.somedata=1;
});
}

还有一个 Controller
mbAppModule.controller({
MController: function ($scope, $http, mService) {
$scope.mService= mService;
});
});

html页面
{{mService.data.somedata}}

问题 :

m3rdPartLib.on() 是我在服务中使用的第 3 方库回调函数。我想在 ui 中显示它,因为它正在更新。在回调时,该值正在更改,但未反射(reflect)在 ui 上。

阅读一些文档,发现可以调用 $rootScope.$apply,但我在服务中没有 $scope/$rootScope 的引用。

最佳答案

您可以依赖 $rootScope并调用申请您的服务。

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;
});
});
}]);

关于用于更新 Controller 范围的 Angularjs 服务回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18931689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com