从子控制器访问routeprovider控制器

时间:2016-01-13 04:44:58

标签: angularjs

我有一个routeprovider,可以将控制器分配给不同的路径。

.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 =&#34; testing&#34 ;; 在异步调用的回调中,所以当我调用console.log时数据没有准备好。

除此之外,它应该是Vignesh在下面的回应

1 个答案:

答案 0 :(得分:0)

使用可以试试这个

PageCtrl 中 将$ scope.test声明为对象。 $ scope.test = {data:&#39; test&#39;}

SubPageCtrl 中,您可以直接访问&#39; $ scope.test.data&#39;。您不需要使用$ parent。

利用原型链。