【发布时间】:2017-04-12 17:30:42
【问题描述】:
我有一个角度分量:
module.exports = {
bindings: {
vulnerability: '<',
},
controller: ['$scope', function($scope){
//want to get value of vulnerability from above
$scope.vulnerability // doesn't work
}],
};
我在 ng-repeat 中引用的
<div ng-repeat="vulnerability in vulnerabilities" class="vulnerability-item">
<vulnerability-item vulnerability="vulnerability"> </vulnerability-item>
</div>
一旦指令被调用,漏洞的值就不会改变,所以我不需要观察那个值,只是在它被设置后引用它。
我确实在属性上放了一个$scope.$watch,只是为了看看它是否有效并且它确实触发了,但我在手表的处理程序中看不到新的或旧的值,所以无论如何它对我没有帮助。
我尝试了$scope.vulnerability 和$ctrl.vulnerability,这是我在指令模板中引用该属性的方式,但均未奏效。如何获取传入的绑定值?
添加此手表:
$scope.$watch('vulnerability', function (oldV, newV) {
console.log('old', oldV)
console.log('new', newV)
})
我在控制台中为组件的每个实例获得了一个 new undefined 和 old undefined,尽管如果我将 $scope.$watch('vulnerability' 更改为 $scope.$watch('nonsense') 它仍然会为每个组件触发一次日志。
【问题讨论】:
-
请更新问题并尝试使用
$scope.$watch。对于 1.5 和组件,$onChanges钩子更可取。 -
正如我所提到的,我对观察变化的价值没有兴趣。有没有办法直接从控制器获取该值?
标签: angularjs angularjs-scope angular-components