案例:图书管理——补充知识(数组相关API)||补充知识(数组响应式变化)

案例:图书管理




Vue数组操作

1、变异方法:会影响数组的原始数据的变化。

2、替换数组:不会影响原始的数组数据,而是形成一个新的数组。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <div>
      <span>
        <input type="text" v-model='fname'>
        <button @click='add'>添加</button>
        <button @click='del'>删除</button>
        <button @click='change'>替换</button>
      </span>
    </div>
    <ul>
      <li :key='index' v-for='(item,index) in list'>{{item}}</li>
    </ul>
  </div>
  <script type="text/javascript" src="js/vue.js"></script>
  <script type="text/javascript">

    var vm = new Vue({
      el: '#app',
      data: {
        fname: '',
        list: ['apple','orange','banana']
      },
      methods: {
        add: function(){
          this.list.push(this.fname);
        },
        del: function(){
          this.list.pop();
        },
        change: function(){
          this.list = this.list.slice(0,2);
        }
      }
    });
  </script>
</body>
</html>



补充知识(数组响应式变化)


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <ul>
      <li v-for='item in list'>{{item}}</li>
    </ul>
    <div>
      <div>{{info.name}}</div>
      <div>{{info.age}}</div>
      <div>{{info.gender}}</div>
    </div>
  </div>
  <script type="text/javascript" src="js/vue.js"></script>
  <script type="text/javascript">
    /*
      动态处理响应式数据
    */
    var vm = new Vue({
      el: '#app',
      data: {
        list: ['apple', 'orange', 'banana'],
        info: {
          name: 'lisi',
          age: 12
        }
      },
    });
    // vm.list[1] = 'lemon';  //不是响应式的
    Vue.set(vm.list, 2, 'dymhh');
    vm.$set(vm.list, 1, 'lemon');

    // vm.info.gender = 'male';  //不是响应式的
    vm.$set(vm.info, 'gender', 'female');

    
  </script>
</body>
</html>

发布了468 篇原创文章 · 获赞 115 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_39368007/article/details/105410896
今日推荐