所以我有一个服务可以获得一个工作正常的json对象。在我的控制器中,我想观察该对象的任何变化。当对象发生变化时,我希望在UI中动态更新。这是我的服务:
angular.module('vertopsappApp.services', [])
.factory('vertopsappAppAPIservice', function($http) {
var vertopsappAppAPI = {};
vertopsappAppAPI.getDrivers = function() {
return $http({
method: 'JSONP',
url: 'http://faboolis.com/example.json?callback=JSON_CALLBACK'
});
}
return vertopsappAppAPI;
});
我的控制器看起来像这样,但我很确定它不是这样做的方法。
.controller("LineCtrl", function ($scope, vertopsappAppAPIservice) {
$scope.$watch('vertopsappAppAPIservice.getDrivers()', function (newVal) {
console.log('data changes into: ', newVal)
}, true);
});
任何帮助将不胜感激。提前致谢。
答案 0 :(得分:-1)
您可以尝试在数据更改时从服务中发出事件,并在控制器中侦听相同内容,从而更新模型以便UI更改。
使用示例编辑:
数据更改时的内部服务:
$rootScope.$emit("value_changed", newValue); //trigger this when you know there is a change in value
内部控制器:
$rootScope.$on("value_changed", function(e,newValue) {
$scope.urUIVariable = newValue;
});