Я не знаю, правильно ли это решение проблемы, которую я пытаюсь решить, если у вас есть идея или более эффективный способ сделать это Я все открываю для вещей :). Я знаю, что могу сделать это и с трансляцией значения, но я хочу использовать сервис для изменения и изменения данных на основе значений, которые он получает. Я просто упростил это только в надежде, что это уже сработает.Получить данные в Угловой службе и передать ее другому контроллеру
Так что же происходит, я посылаю значение по клику на службе с:
$scope.newName = function(name) {
nameService.newName(name);
};
Чем получить значение в моей службе и попытаться отправить его на другой контроллер с:
var placeHolderName = 'anonymouse';
var name = [];
return {
newName: function (repsonse) {
placeHolderName = 'noAnonymouse'
name = 'hi new' + repsonse;
},
getNewName: function() {
if (placeHolderName === 'anonymouse') {
return placeHolderName;
}
else {
return name;
}
}
};
Но поскольку вы можете увидеть, нет ли переданного значения, он просто содержит имя «anonymouse», когда есть новое переданное значение, больше нет необходимости в переменной-заполнителе.
и пытается обновить имя «anonymouse» после того, как новое значение передано через службу, и оно обновит область $ с новым значением. Im извлечения его:
$scope.name = nameService.getNewName();
$scope.$watch('name', function(newValue, oldValue) {
console.log(newValue, oldValue);
});
Это, к сожалению, не работает так, как я пытаюсь использовать его здесь.
Найдено решение было вспомнить функцию в контроллере, где я хочу получить данные, довольно глупо Mee но спасибо за часть I использовал его и лучше, чем то, что у меня было спасибо :)! – Dennis
@ Dennis см. Обновленный ans в любом случае .. :) некоторые вещи в ручке кода, а также фрагмент стека заблокированы в моей сети, поэтому пришлось воссоздать вещи в jsfiddle –
Не знал, что вы можете просто наблюдать за функцией, изучая ее сегодня. Ты более эффективен, чем мой. Но могу ли я задать вопрос, почему использовать фабрику вместо просто услуги? – Dennis