美文网首页
Vue中给data中的对象属性添加一个新的属性时会发生什么,如何

Vue中给data中的对象属性添加一个新的属性时会发生什么,如何

作者: 指尖跳动 | 来源:发表于2020-03-08 12:35 被阅读0次

    示例:

    <template>
      <div>
        <ul>
          <li v-for="value in obj" :key="value">
            {{value}}
          </li>
        </ul>
        <button @click="addObjB">添加obj.b</button>
      </div>
    </template>
    <script>
    export default {
      data () {
        return {
          obj: {
            a: 'obj.a'
          }
        }
      },
      methods: {
        addObjB () {
          this.obj.b = 'obj.b'
          console.log(this.obj)
        }
      }
    }
    </script>
    <style></style>
    

    点击button会发现,obj.b 已经成功添加,但是视图并未刷新:




    原因在于在Vue实例创建时,obj.b并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新,这时就需要使用Vue的全局api $set():


    相关文章

      网友评论

          本文标题:Vue中给data中的对象属性添加一个新的属性时会发生什么,如何

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