На мой взгляд, я привязываюсь к свойству службы, что свойство службы привязано к другому свойству службы.Почему мои свойства сервиса не обновляются?
Проблема заключается в том, что ни одно свойство службы не обновляется, когда я изменяю его в представлении. Может ли кто-нибудь пролить свет, пожалуйста?
Вот plunker: http://plnkr.co/edit/D0YMzD?p=preview
Контроллер:
myApp.controller('Ctrl', ['$scope', 'serviceOne', function($scope, serviceOne) {
var ctrl = this;
ctrl.val = serviceOne.val;
$scope.$watch(function() {
return ctrl.val;
}, function() {
console.log('ctrl says val=' + ctrl.val);
}, true);
}]);
serviceOne:
myApp.service('serviceOne', ['serviceTwo', '$rootScope', function (serviceTwo, $rootScope) {
var sOne = this;
sOne.val = serviceTwo.val;
$rootScope.$watch(function() {
return sOne.val;
}, function() {
console.log('sOne says val=' + sOne.val);
}, true);
}]);
serviceTwo:
myApp.service('serviceTwo', ['$rootScope', function ($rootScope) {
var sTwo = this;
sTwo.val = "hello";
$rootScope.$watch(function() {
return sTwo.val;
}, function() {
console.log('sTwo says val=' + sTwo.val);
}, true);
}]);
где вы обновляете значение для обслуживания? –
Первое место, почему вы хотите две службы? почему нет двух переменных в одном сервисе, если это необходимо. –
serviceOne - это всеобъемлющий сервис, который внедряет ряд различных сервисов с общими API и выполняет операции над их моделями. Пример, который я опубликовал, был голой костью того, что я делаю. –