一.Vue初體驗:
二.Vue條件命令:
三.Vue循環指令:
四.Vue處理用户輸入:
五.Vue組件初體驗:
六.Vue實例:
七.Vue模板語法:
八.Vue計算屬性:
九.Vue.js偵聽器:
十.Vue.js的class綁定:
十一.Vue style綁定:
十二.Vue 條件渲染:
十三.Vue 列表渲染:
十四.Vue事件處理:
十五.Vue表單輸入綁定:
十六.Vue中引用圖片:
使用v-for遍歷數組對象
我們可以用 v-for 指令基於一個數組來渲染一個列表。v-for 指令需要使用book in books形式的特殊語法,其中 books 是源數據數組,而 book 則是被迭代的數組元素的別名。具體操作如下代碼
data:{
books:[
{
name:"三國演義",
author:"羅貫中"
},
{
name:"西遊記",
author:"吳承恩"
},
{
name:"水滸傳",
author:"施耐庵"
},
{
name:"紅樓夢",
author:"曹雪芹"
}
]
}
<table border="1">
<!--第一行-->
<tr>
<td>循環下標</td>
<td>書名</td>
<td>作者</td>
</tr>
<!--books:要遍歷的數組元素 book:每一個要遍歷元素的別名,book想當於是book裏面的每一個對象-->
<!--除了book,還可以加一個下標:index in也可以改成of-->
<!--v-for既可以遍歷數組對象,也可以遍歷普通對象-->
<tr v-for="(book,index) in books" v-bind:key="index">
<td>{{index}}</td>
<td>{{book.name}}</td>
<td>{{book.author}}</td>
</tr>
</table>
循環數組對象瀏覽器顯示如下
在 v-for 塊中,我們可以訪問所有父作用域的屬性。v-for 還支持一個可選的第二個參數,即當前項的索引。
<tr v-for="(book,index) in books" v-bind:key="index">
<td>{{index}}</td>
<td>{{book.name}}</td>
<td>{{book.author}}</td>
</tr>
使用v-for遍歷單個對象
data:{
site:{
url:"https://lqgjava.github.io/",
name:"凌楓博客",
server:"github"
}
}
<div v-for="(s,p,index) in site" v-bind:key="index">{{s}}--{{p}}--{{index}}</div>
單個對象遍歷瀏覽器顯示如下
你也可以提供第二個的參數為 property 名稱 (也就是鍵名):下面代碼的p就是鍵名
<div v-for="(s,p,index) in site" v-bind:key="index">{{s}}--{{p}}--{{index}}</div>
數組更新檢測
變異方法
Vue 將被偵聽的數組的變異方法進行了包裹,所以它們也將會觸發視圖更新。這些被包裹過的方法包括:
push()pop()shift()unshift()splice()sort()reverse()
你可以打開控制枱,然後對前面例子的 books 數組嘗試調用變異方法。比如 app.books.push({name:"鬥破蒼穹",author:"天蠶土豆"})。
詳細代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue的條件渲染</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<table border="1">
<!--第一行-->
<tr>
<td>循環下標</td>
<td>書名</td>
<td>作者</td>
</tr>
<!--books:要遍歷的數組元素 book:每一個要遍歷元素的別名,book想當於是book裏面的每一個對象-->
<!--除了book,還可以加一個下標:index in也可以改成of-->
<!--v-for既可以遍歷數組對象,也可以遍歷普通對象-->
<tr v-for="(book,index) in books" v-bind:key="index">
<td>{{index}}</td>
<td>{{book.name}}</td>
<td>{{book.author}}</td>
</tr>
</table>
<hr>
<!--也可以拿到屬性的key-->
<!--遍歷普通對象-->
<div v-for="(s,p,index) in site" v-bind:key="index">{{s}}--{{p}}--{{index}}</div>
</div>
<script>
var app = new Vue({
el:"#app",
data:{
books:[
{
name:"三國演義",
author:"羅貫中"
},
{
name:"西遊記",
author:"吳承恩"
},
{
name:"水滸傳",
author:"施耐庵"
},
{
name:"紅樓夢",
author:"曹雪芹"
}
],
site:{
url:"https://lqgjava.github.io/",
name:"凌楓博客",
server:"github"
}
}
});
</script>
</body>
</html>