美文网首页
Vue.js 中遇到的坑坑坑 - 对象如何动态添加属性

Vue.js 中遇到的坑坑坑 - 对象如何动态添加属性

作者: 壮哉我大前端 | 来源:发表于2017-09-24 22:33 被阅读0次

先看一下官方说明:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
项目中,需要更新服务器数据增加一些属性(比如:按钮状态、按钮文案),用来控制一个服的角色,增加后点击视图上一点反应都没有,但是用console.log
打印出来发现值的确的有变化的。
也就是说,数据的变化不能触发视图更新。原因就是如上面所说,因为这个属性是我后来添加的,不能被 Vuejs 检测到。这时候需要使用$set(key, value)这个API。

假如你的数据是这样:

data() {
  return {
    testItems: [
      {
        zServer: "公测001区公测001区"
      }
    ]
  }
}

你需要在一些操作后为testItems里面的每个对象增加一个show属性,则需要这样写:

for( let i = 0 , len = this.testItem.length ; i < len; i++ ) {
    let obj = this.testItem[i];
    obj.ACTOR_NAME = "五杀~";
    obj.ACTOR_BTN = "取消添加";

    this.$set( this.testItem, i, obj );
}

相关文章

  • Vue.js 中遇到的坑坑坑 - 对象如何动态添加属性

    先看一下官方说明:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实...

  • JS向对象添加属性

    有条件地向对象添加属性 检查属性是否存在对象中 对象中的动态属性名称 使用动态键进行对象解构

  • 二十一:Python之动态添加属性方法

    一:动态添加属性方法 动态添加属性:类属性,成员属性 动态添加方法:成员方法,类方法,静态方法 动态添加对象方法需...

  • react 对象动态添加属性 setState

    // js 对象动态添加 js对象动态添加 //总结,给对象动态添加变量属性的方法如下: //obj[变量]=变...

  • runTime之--动态添加属性(给系统类对象)

    系统类对象动态添加属性 实现 就是添加关联 微云网盘动态添加属性demo

  • iOS RunTime 理解

    可以遍历对象的属性 可以动态的添加、修改属性,动态添加、修改、替换方法,动态添加、修改、替换协议 可以动态创建类、...

  • 对象的动态特性

    给对象动态添加属性 当一个对象需要某个属性的时候,可以用两种方式为其添加属性 注意:当要动态的为一个对象添加属性的...

  • runtime的实际应用

    1、使用关联对象动态给分类添加属性 使用关联对象,可以为类添加Category中的属性,我们可以为现有类添加一些实...

  • Add CGFloat property to Category

    给扩展类添加CGFloat类型的属性 IOS中可以使用运行时动态给类添加属性,对象类型的属性添加方法大家都知道 但...

  • pythonx1_面向对象2

    面向对象 高级 === 动态添加属性python可以动态为对象绑定属性,但是不会影响到同类的其他对象。 cl...

网友评论

      本文标题:Vue.js 中遇到的坑坑坑 - 对象如何动态添加属性

      本文链接:https://www.haomeiwen.com/subject/dpvlextx.html