Я завораживаю некоторыми понятиями Углового, в частности, потока переменной и области видимости.Угловая область родительского дочернего объекта с сервисом
Что я пытаюсь сделать, это установить переменную в дочернем контроллере и передать ее в родительскую область. Рассмотрим простой пример:
module.controller('childController', childController);
function childController($scope,$http,$window, hexafy) {
$scope.hex = hexafy.myFunc(17);
}
module.controller('parentController', parentController);
function parentController($scope, hexafy) {
}
module.service('hexafy', function() {
this.myFunc = function (x) {
return x.toString(16);
}
});
Тогда моя наценка выглядит следующим образом:
{{hex}}
<section data-ng-controller="listingsViewController">....</section>
Расчет осуществляется с помощью контроллера ребенка, но, как вы можете видеть, я хотите передать переменную в «parent». Я читал о «родительской» области, но я понимаю, что это не лучшая практика, поэтому я пытаюсь использовать службу. Где я иду не так?
Я читал $ parentScope не рекомендуется, так как это может вызвать проблемы на более позднем этапе. Я собираюсь попробовать, как вы предложили выше, но мне также интересно узнать, как работает сервис. Я не могу найти никаких примеров, хотя и продолжаю ходить по кругу. –
@AlanA Я также обновил код с помощью службы – whyyie
@whyyie. Вы можете получить значение из службы, не делая клика или используя '$ emit', в своем кода, если вы поместите свою функцию в выражение '{{clickHere()}}' в представлении, оно будет выполняться всякий раз, когда оно будет изменено. –