加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何观看对象属性?

发布时间:2020-12-17 17:19:44 所属栏目:安全 来源:网络整理
导读:我想要一个可以像这样使用的属性指令: div my-dir="{items:m.items,type:'0'}"/div 在我的指令中,我可以把它变成一个像这样的对象: function (scope,element,attributes,modelController){ var ops = $.extend({},scope.$eval(attributes.myDir));} 现在说
我想要一个可以像这样使用的属性指令:

<div my-dir="{items:m.items,type:'0'}"></div>

在我的指令中,我可以把它变成一个像这样的对象:

function (scope,element,attributes,modelController)
{
   var ops = $.extend({},scope.$eval(attributes.myDir));
}

现在说m.items是一个数组.在某个地方,一个ajax调用用一个新的替换数组.我想留意这个.

如何在属性中的items属性中查看m.items或输入的内容?表达式应该是什么?

解决方法

你应该能够使用范围.$watch来观察属性.当任何值发生更改时,Angular将调用整个对象的回调.

function(scope,elem,attrs) {
  scope.$watch(attrs.myDir,function(val) {
    // Do something with the new value,val.
  },true);
}

http://plnkr.co/edit/JBGqW8uFzh1eJ1Ppq3fT

无论何时模型更改(通过在输入中键入内容),指令都会更新$watch中的元素html.

编辑我的答案:你想要包含true作为比较对象值而不是引用的最后一个参数.否则你将运行digest超过10次并获得异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读