1
我有一個路由提供者將控制器分配給不同的路由。從子控制器訪問路由提供者控制器
.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
。有人知道我可以如何使它工作嗎?
編輯:
原來我把 $ scope.test = 「測試」; 在一個異步調用的回調中,所以當我調用console.log時數據沒有準備好。
除此之外,它應該是正是下面
您不能以角度傳遞數據,因爲您必須使用$ broadcast在2控制器之間共享數據。 – Maher
我回答了這個問題,看看這個[2控制器之間共享數據](http://stackoverflow.com/questions/34668416/linking-one-controller-to-another-to-call-service-on-ng-click/34702780#34702780) – Maher
感謝您的參考,馬赫。雖然,這只是一個簡單的父母對孩子的結構。我們可以使用共享範圍 –