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
感谢您的参考,马赫。虽然,这只是一个简单的父母对孩子的结构。我们可以使用共享范围 –