如果需要,如何访问父范围?

bla*_*red 9 javascript twitter-bootstrap angularjs angularjs-directive angularjs-scope

我正在努力解决这个问题.评级是Angular Bootstrap的一个指令,我无法控制,我可以定义一个控制器,我试图通过它序列化评级,但我似乎无法访问父文章.我是AngularJS的新手,所以这可能是最愚蠢的问题,但我正在尝试$scope.$parent,这确实让我可以访问一个article属性,但当我这样做$scope.$parent.article时返回undefined,必须有另一种方式.

这是有问题的标记:

<div class="article full" data-ng-model="article">
  <header class="page-header">
    <h4>{{article.title}}</h4>
    <div class="article-rating" rating ng-controller="RatingsCtrl" value="article.rating" max="5"></div>
  </header>
  <!-- ... -->
</div>
Run Code Online (Sandbox Code Playgroud)

这是有问题的指令https://github.com/angular-ui/bootstrap/blob/master/src/rating/rating.js,这是我试图让某些东西起作用,这不会增加太多上下文,但按要求:

angular.module("myApp")
  .controller("RatingsCtrl", ($scope) ->
    console.log $scope.$parent.article #=> undefined

    $scope.$watch 'value', (newVal, oldVal) ->
      console.log "newVal = #{newVal} oldVal=#{oldVal}"
      console.log $scope.$parent.article #=> undefined
  )
Run Code Online (Sandbox Code Playgroud)

red*_*dow 1

我需要查看脚本才能更准确地回复,但您说它$scope.parent有一个article属性,但$scope.$parent.article未定义。

如果这不是拼写错误,那么您应该使用$scope.parent.article...