首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从角分量控制器中求出角分量的定值

从角分量控制器中求出角分量的定值
EN

Stack Overflow用户
提问于 2016-11-28 21:18:13
回答 1查看 847关注 0票数 0

我有一个角度分量:

代码语言:javascript
复制
module.exports = {
    bindings: {
        vulnerability: '<',
    },
    controller: ['$scope', function($scope){
       //want to get value of vulnerability from above
       $scope.vulnerability  // doesn't work
    }],
};

我在ng-重复中引用的

代码语言:javascript
复制
<div ng-repeat="vulnerability in vulnerabilities" class="vulnerability-item">
   <vulnerability-item  vulnerability="vulnerability"> </vulnerability-item>
</div>

一旦调用了指令,漏洞的值就不会改变,所以我不需要查看该值,只需要在设置之后引用它。

我确实在属性上放置了一个$scope.$watch,只是为了看看它是否工作,并且它确实触发了,但是我无法在手表的处理程序中看到新的或旧的值,所以它对我没有帮助。

我尝试了$scope.vulnerability$ctrl.vulnerability,这是我在指令模板中引用该属性的方式,但两者都没有工作。如何获得传入的绑定值?

添加此表:

代码语言:javascript
复制
    $scope.$watch('vulnerability', function (oldV, newV) {
        console.log('old', oldV)
        console.log('new', newV)
    })

我在控制台中为组件的每个实例获得了一个new undefinedold undefined,尽管如果我将$scope.$watch('vulnerability'更改为$scope.$watch('nonsense'),它仍然会为每个组件触发一次日志。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-29 03:14:26

如果不应该更改该值,则应该绑定一次,vulnerability="::vulnerability"。这给出了问题的上下文(同时也节省了一些优化时间)。

在这种情况下,可以使用$onInit钩子:

代码语言:javascript
复制
...
controller: function() {
   this.$onInit = function () {
     this.vulnerability
   }
},
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40853693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档