zoukankan      html  css  js  c++  java
  • vue 数据动态响应(Vue.set方法)

    当vue实例已经创建完成,需要对实例进行赋值修改是,视图没有更新;
    例如:修改数组其中一个值的时候,数据已经修改,但视图不更新;

    1 <div>
    2     <ul>
    3       <li v-for="item in list">
    4         {{item}}
    5       </li>
    6     </ul>
    7     <a @click="clickBtn" class="primary mr-2">刷新</a>
    8 </div>
     1 data () {
     2     return {
     3       list: ['a', 'b', 'c'],
     4     }
     5   },
     6   methods: {
     7     clickBtn () {
     8       this.list[0] = 'x';
     9       console.log(this.list);
    10     }
    11 }

    刷新后效果:

    Vue.set(target,key,value) 方法

     target:修改的对象

     key:属性

     value:修改的值

     1 data () {
     2     return {
     3       list: ['a', 'b', 'c']
     4     }
     5   },
     6   methods: {
     7     clickBtn () {
     8       this.$set(this.list, 0, 'x')
     9     }
    10 }

    刷新后效果:

    复杂一点的数据赋值事例

    1 <div>
    2     <ul>
    3       <li v-for="(item,key) in objList">
    4         {{key}}:{{item}}
    5       </li>
    6     </ul>
    7     <a @click="clickBtn" class="primary mr-2">刷新</a>
    8 </div>
     1 data () {
     2     return {
     3       objList: {
     4         a: ['a', 'b', 'c'],
     5         b: 1,
     6         c: 2
     7       }
     8     }
     9   },
    10   methods: {
    11     clickBtn () {
    12       this.$set(this.objList['a'], 0, 'e')
    13     }
    14 }
  • 相关阅读:
    迭代器基础知识
    C语言I博客作业09
    第一周作业
    C语言1博客作业04
    C语言I博客作业08
    C语言博客作业05
    C语言I作业12—学期总结
    C语言I博客作业10
    C语言I博客作业06
    C语言I博客作业11
  • 原文地址:https://www.cnblogs.com/Li--gm/p/12781099.html
Copyright © 2011-2022 走看看