サードパーティ ライブラリのコールバック関数を備えたサービス:
mbAppModule.service('aService', function ($http) {
this.data={"somedata":0};
var m3rdPartLib="init"; // init
m3rdPartLib.on('timeupdate', function() {
this.data.somedata=1;
});
}
そしてコントローラー
mbAppModule.controller({
MController: function ($scope, $http, mService) {
$scope.mService= mService;
});
});
htmlページ
{{mService.data.somedata}}
問題 :
m3rdPartLib.on() は、サービスで使用しているサードパーティ ライブラリのコールバック関数です。更新されているので、UIに表示したいと思います。コールバック時に値が変更されていますが、UI には反映されていません。
いくつかのドキュメントを読んで、 $rootScope.$apply を呼び出すことができることがわかりましたが、サービスに $scope / $rootScope の参照がありません。