zoukankan      html  css  js  c++  java
  • Vue

    1.v-for 合并标签template 一起使用

    2.vue.set

    1.v-for 合并标签template 一起使用

    之前在设计table的时候,如果使用v-for ,会直接放在tr里面,一次产生一行tr,

    但是如果一次要产生两行以上的tr,就可以考虑使用<template>

    template 这个标签不会直接输出,使用方法如下

    <h4>Template 的運用</h4>
    <p>請將兩個 tr 一組使用 v-for</p>
    <table class="table">
      <template v-for="item in arrayData">
        <tr>
          <td>{{item.age}}</td>
        </tr>
        <tr>
          <td>{{item.name}}</td>
        </tr>
      </template>
    </table>
    
    <script>
    var vm = new Vue({
    el: '#app',
    data: {
        arrayData: [{
            name: '小明',
            age: 16
        }, {
            name: '漂亮阿姨',
            age: 24
        }, {
            name: '杰倫',
            age: 20
        }],
        
    }
    });
    
    </script>

    2.vue.set

    <h4>vue.set介紹</h4>
    <button class="btn btn-outline-primary" v-on:click="modifyArrayItem">修改陣列Index:0的內容</button>
    <ul>
        <li v-for="(item, key) in arrayData" :key="item.age">
            {{ key }} - {{ item.name }} {{ item.age }} 歲 <input type="text">
        </li>
    </ul>
    <script>
    var vm = new Vue({
    el: '#app',
    data: {
        arrayData: [{
            name: '小明',
            age: 16
        }, {
            name: '漂亮阿姨',
            age: 24
        }, {
            name: '杰倫',
            age: 20
        }],    
    },
    methods: {
    modifyArrayItem: function() {
    
    // 方法1
    // vm.arrayData[0] = {
    //     name: '阿強',
    //     age: 99
    // }    
    /* 
     這樣不是真正改掉畫面上陣列Index=0的資料
     因為這個寫法是把vm.arrayData[0] 指到另外一個新的物件,
     而新的物件並沒有在Vue的監控之下,所以即使陣列內的值已經改變了,
     畫面上顯示的資料並不會被喧染上去
    */
    
    // 方法2 透過屬性去改陣列Index=0 這個物件的屬性,可以修改成功
    // vm.arrayData[0].name = '阿強';
    // vm.arrayData[0].age = 100;
    
    /*
    使用 Vue.set(object, key, value)
    一樣是把vm.arrayData[0] 指到另外一個新的物件,
    並且把這個新的物件加入Vue的監控,因此修改後,
    畫面上的資料也會跟著被喧染
    */
    Vue.set(vm.arrayData, 0, {
        name: '阿強',
        age: 99
    });
    }        
    }
    });
  • 相关阅读:
    Eureka的使用
    自定义类加载器
    继承
    Active Objects模式
    Future设计模式
    mysql备份与还原
    多生产者多消费者(第一种方式),基于synchronized,wait,notifyAll
    自己实现阻塞队列(基于数组)
    linux定时任务每隔5分钟向文本追加一行
    自己实现CountDownLatch
  • 原文地址:https://www.cnblogs.com/wwwblender-3dcn/p/10158412.html
Copyright © 2011-2022 走看看