51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Vue基础应用:遍历和修改数组和对象的方式

Vue基础应用:遍历和修改数组和对象的方式。

对数组和对象进行遍历和修改 {#heading-0}

{#_lab2_0_0}

1、对数组进行循环 {#heading-1}

v-for进行循环,有两个参数(item,index)

注意:template可以成为占位符,在DOM里面不显示

{#_lab2_0_1}

2、 修改数组的时候,不能直接通过下标去增加修改删除 {#heading-2}

(1)可以用过push/pop/shift/unshift/splice/sort/reverse方法

(2)也可以直接改变(重新定义)list数组的整体 (var list = [ ])

(3)全局的Vue.set(app7.list,1<此处代表下标>,2)

局部的app7.$set(app7.list,1<此处代表下标>,2)

{#_lab2_0_2}

3、对对象进行循环 {#heading-3}

v-for进行循环,有三个参数(item,index,key)

{#_lab2_0_3}

4、增加对象的时候 {#heading-4}

(1)通过重新定义引用的对象 (var obj = { })

(2)set方法 全局的Vue.set(app7.obj,"sex"<此处代表要增加的属性>,"女")

局部的app7.$set(app7.obj,"sex"<此处代表要增加的属性>,"女")

<!-- v-for的使用 -->
<div id="app7">
    // 对数组进行循环
        <template v-for="(item,index) of list" :key="item.id">
            <div>
                {{item.text}} ---- {{index}}
            </div>
            <span>
                {{item.text}} ---- {{index}}
            </span>
        </template>
        //对对象进行循环
        <template v-for="(item,index,key) of obj">
            <div>
                {{item}} ---- {{index}}-----{{key}}
            </div>
        </template>
</div>
<script>
        var app7 = new Vue({
        el: '#app7',
        data: {
            list: [
                {
                    id: "1",
                    text: '1'
                },
                {
                    id: "2",
                    text: '2'
                },
                {
                    id: "3",
                    text: '3'
                },
            ],
            obj: {
                name: 'mao',
                age: 28,
                address: 'liulin'
            }
        }
    })
</script>

修改数组和对象的特殊情况以及修改方法 {#heading-5}

div部分

  <div id="root">
    {{title}}
    <my-header></my-header>
    {{list}}
    {{obj}}
  </div>
  <div id="app">
    {{title}}
  </div>

JS

  <script>
    // 全局定义的组件
    Vue.component('my-header', {
      template: `
        <header>title</header>
      `
    })
    // 实例化Vue
    var vm = new Vue({
      el: '#root',
      data: {
        title: 'hello',
        list: ['a', 'b'],
        obj: {
          x: 0
        }
      }
    })
    var vm2 = new Vue({
      el: '#app',
      data: {
        title: 'world'
      }
    })
  </script>

修改数组的两个特殊情况 {#heading-6}

1.arr.length = 0, 不具备响应特性

2.arr[0] = 100, 不具备响应特性

  • 修改对象的特殊情况

  • 添加obj.x,x属性,也不具备响应特性

{#_lab2_1_5}

修补方法 {#heading-7}

vm.$set(target, propertyName/index, value)//实例化一个vue,试用贴set属性改变对应的value值
Vue.set(target, propertyName/index, value)//直接使用vue的属性,要与实例化vue方法区分,这个没有$
vm.$forceupdate()

赞(0)
未经允许不得转载:工具盒子 » Vue基础应用:遍历和修改数组和对象的方式