首頁>技術>

Vue乾貨第一集:v-for 迴圈v-for 指令需要以 site in sites 形式的特殊語法, sites 是源資料陣列並且 site 是陣列元素迭代的別名。v-for 可以繫結資料到陣列來渲染一個列表:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>迴圈</title>    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">    <meta name="apple-mobile-web-app-capable" content="yes">    <meta name="apple-mobile-web-app-status-bar-style" content="black">    <style>    </style>    <script src="vue.js"></script>    <script>        window.onload=function(){            new Vue({                el:'#box',                data:{                    arr:['apple','banana','orange','pear'],                    json:{a:'apple',b:'banana',c:'orange'}                }            });        };    </script></head><body>    <div id="box">        <ul>            <li v-for="value in arr">                {{value}}            </li>        </ul>    </div></body></html>
模板中使用 v-for:
<template v-for="site in sites">    <li>{{ site.name }}</li>    <li>--------------</li>  </template>
v-for 可以通過一個物件的屬性來迭代資料:

v-for 也可以迴圈整數

  <li v-for="n in 10">     {{ n }}    </li>
computed 計算屬性
<div id="app">  <p>原始字串: {{ message }}</p>  <p>計算後反轉字串: {{ reversedMessage }}</p></div> <script>var vm = new Vue({  el: '#app',  data: {    message: 'Runoob!'  },  computed: {    // 計算屬性的 getter    reversedMessage: function () {      // `this` 指向 vm 例項      return this.message.split('').reverse().join('')    }  }})</script>

例項中聲明了一個計算屬性 reversedMessage 。提供的函式將用作屬性 vm.reversedMessage 的 getter 。vm.reversedMessage 依賴於 vm.message,在 vm.message 發生改變時,vm.reversedMessage 也會更新。

事件處理器事件監聽可以用v-on指令:
 <button v-on:click="counter += 1">增加 1</button>
我們需要使用一個方法來呼叫 JavaScript 方法,v-on 可以接收一個定義的方法來呼叫
 <button v-on:click="greet">Greet</button> methods: {    greet: function (event) {      // `this` 在方法裡指當前 Vue 例項      alert('Hello ' + this.name + '!')      // `event` 是原生 DOM 事件      if (event) {          alert(event.target.tagName)      }    }  }
除了直接繫結到一個方法,也可以用內聯 JavaScript 語句:
<button v-on:click="say('hi')">Say hi</button> methods: {    say: function (message) {      alert(message)    }  }

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 基於 Flask 開發 RESTful API 的簡單向導