Передача / обновление данных на фабрике с одного контроллера на другой
Я не уверен, что у меня возникла проблема с «лучшими практиками», когда я пытаюсь решить эту проблему странным и чудесным способом, или нет, пока я еще не справился с этой задачей.
сценарийПоэтому я пытался придумать способ, чтобы «originCity.cityName» выводился на страницу несколько раз, причем все ссылались на один и тот же объект внутри одной и той же фабрики в надежде, что если я установлю для него какое-то другое значение ( "Test String", например), то он будет задним числом заменить все{{originCity.cityName}}
У меня вокруг страницы.
module.service('cityFactory', function () {
return {
originCity: {
cityName: 'TestLocation'
};
//Update the city
this.update = function (newCityName) {
this.originCity.cityName = newCityName;
}
});
В двух отдельных контроллерах у меня следующий вызов на завод:
$scope.originCity = cityService.originCity
И, чтобы продемонстрировать, в отдельном контроллере у меня есть следующий вызов метода обновления фабрики:
$scope.setCity = function() {
cityService.update('Test String');
}
Как я уже упоминал выше, это очень ново для меня, так что я могу ошибаться, но я надеялся, что у меня будет фабрика с методом, который я могу вызвать из любого места на странице (при условии, что все зависимости находятся в линия), чтобы обновить это значение в нескольких местах.
Если яconsole.log
this.originCity.cityName
в методе обновления внутри фабрики, то выводится правильно, какTest String
но другие ссылки на данные в настоящее время не обновляются.