У меня есть маршрутизатор, который назначает контроллер другому маршруту.Доступ к контроллеру маршрутизации от контроллера-контроллера
.when('/page/:id', {
templateUrl: '/page/overview.ejs',
title: __('pageTitle'),
controller: 'PageCtrl'
}
и в overview.ejs
у меня есть что-то вроде этого:
<div>
<div ng-controller="SubPageCtrl">
....
</div>
</div>
Возникает вопрос: как я могу получить доступ к собственности PageCtrl
в SubPageCtrl
?
Я пытался это сделать, но это не работает:
function PageCtrl ($scope) {
$scope.test = "testing";
}
function SubPageCtrl($scope) {
console.log($scope.$parent.test);
console.log($scope.test)
}
Оба распечатайте undefined
. Кто-нибудь знает, как я могу заставить его работать?
Edit:
Оказалось, что я поставил $ scope.test = "тестирование"; в обратном вызове асинхронного вызова, поэтому данные не готовы при вызове console.log.
Кроме того, это должно быть только то, что ответ Вигнеш в ниже
Вы не можете передавать данные в угловом формате, для этого вам нужно использовать $ broadcast для обмена данными между двумя контроллерами. – Maher
Я ответил на этот вопрос, посмотрите на это [обмен данными между двумя контроллерами] (http://stackoverflow.com/questions/34668416/linking-one-controller-to-another-to-call-service-on-ng-click/34702780 # 34702780) – Maher
Спасибо за ссылку, Махер. Хотя это простая структура от родителей к ребенку. Мы можем просто использовать область распространения –