无法访问父控制器范围(AngularJS)

时间:2014-01-14 06:46:20

标签: javascript angularjs controller parent

我试图将AngularJS作为一个完整的n00b,使用Yeoman,grunt和bower安装所有内容。

我一直在很好地摆弄代码,但现在我仍然试图访问父作用域。见见下面的代码

'use strict';

angular.module('castLibraryApp')
  .controller('library', function ($scope) {
    $scope.movies =  [
        {title: 'Sherlock Holmes', poster: 'http://bit.ly/19p8cla'},
        {title: 'Star Trek', poster: 'http://bit.ly/1eAagVa'},
      ];
    $scope.directory  = '~/Movies/';
    console.log($scope.movies);
  })
  .controller('movie', function ($scope, $routeParams) {
    $scope.section  = 'View Movie';
    console.log($scope.movies);
  });

在我的 main.html 模板中调用库控制器,而在我的 view.html 模板中访问电影控制器。我想在视图模板中打印名称和海报等信息。

但是我一直得到未定义的变量

我知道这是一个愚蠢的错误,但非常感谢帮助

2 个答案:

答案 0 :(得分:3)

您可以使用$scope.$parent访问library控制器。但这不是一个好的设计。您最好将movies投入使用:http://docs.angularjs.org/guide/dev_guide.services.understanding_services

答案 1 :(得分:2)

在电影控制器中使用

$scope.$parent.movies

并在view.html中,使用

{{ $parent.movies }}