у меня есть этот код в структуре Угловой:Angular.js: двухсторонняя привязка данных между несколькими контроллерами
app.controller(AlphaCtrl, function(interstellarService){
$scope.interstellarService = {
routeToEarth: interstellarService.get('routeToEarth'),
}
})
app.controller(CentauriCtrl, function(interstellarService){
$scope.interstellarService = {
routeToEarth: interstellarService.get('routeToEarth'),
}
})
хранит Interstellar обслуживания в хранилище браузера:
appServices.factory('interstellarService', function ($rootScope, $localStorage){
return {
set: function(entidy, value) {
$localStorage[entidy] = value;
},
get: function(entidy) {
if ($localStorage[entidy] !== undefined) {
return $localStorage[entidy];
} else return false;
}
}
});
Теперь, когда я изменяю в AlphaCtrl
свойство routeToEarth
с помощью метода setter. Я ожидаю, что CentauriCtrl обновится соответствующим образом, поскольку данные привязаны к каждому контроллеру к сервису, как в:
AlphaCtrl < - данные -> interstellarService < - данные -> CentauriCtrl
Это то, что не работает: я хочу использовать и передавать значение, хранящееся в routeToEarth
в моей Приме-HTML, например
<li>
<a>
{{interstellarService.routeToearth}} && 'Timetravel' || 'Wormhole' }}
</a>
</li>
Что мне здесь не хватает?
вы должны попробовать завод вместо –
Ok я обновил свой код с завода до сих пор нет работы. – nottinhill
Вы установили его на своей фабрике? также, что должно делать это выражение? можете ли вы попробовать просто сделать часть {{interstellarService.routeToearth}}? – tmaximini