我正在为此苦苦挣扎。 Rating 是来自 Angular Bootstrap 的指令,我无法控制它,我可以定义一个 Controller ,并且我试图通过它序列化评级,但是我似乎无法访问父文章。我是 AngularJS 的新手,所以这可能是最愚蠢的问题,但我正在试验 $scope.$parent
,它确实让我可以访问 article
属性,但是当我执行 $scope.$parent.article
它返回未定义时,必须有另一种方法。
这是有问题的标记:
<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>
这是有问题的指令 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
)
最佳答案
我需要查看脚本才能更准确地回复,但您说 $scope.parent
有一个 article
属性,但是 $scope. $parent.article
未定义。
如果这不是拼写错误,您应该改用 $scope.parent.article
...
关于javascript - 如果需要,如何访问父作用域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891456/