Vue.js筆記-條件渲染 列表渲染
條件渲染
v-if
<div id="demo">
<div v-if="abc">{{abc.a}}</div> //該值為true時顯示該標籤,為false則不顯示
</div>
<script>
var vm =newVue({
el:'#demo',
data:{
abc:{
- a:"1"
}
}
})
</script>
<h1 v-if="ok">Yes</h1>
<h1 v-else>No</h1>
<div v-if=""></div>
<template v-else>
<div v-if=""></div>
<div v-else></div>
</template>
template v-if
如果想切換多個元素,可以把一個<template>元素當作包裝元素,並在上面使用v-if,最終的渲染結果不會包含它。<template v-if="ok"
<h1>Title</h1>
<p>Paragraph1</p>
<p>Paragraph2</p>
</template>
v-show
不同的是有 v-show 的元素會始終渲染並保持在 DOM 中。v-show 是簡單的切換元素的 CSS 屬性 display。注意 v-show 不支援 <template> 語法。<h1 v-show="ok">Hello!</h1>
列表渲染
v-for
基於一個數組渲染一個列表。語法:item in items(陣列元素的別名 in 資料陣列)
<ul id="example-1">
<li v-for="item in items">
{{ item.message }}
</li>
</ul>
var example1 =newVue({
el:'#example-1',
data:{
items:[
{ message:'Foo'},
{ message:'Bar'}
]
}
})
<div v-for="(index, item) in items">
{{ index }}{{ item.message }}
</div>
<div v-for="item of items"></div>
template v-for
渲染一個包含多個元素的塊,需要將多個標籤都用v-for遍歷,那麼就需要用template標籤。同樣,template在實際渲染的時候不會出現,只是起到一個包裹作用。<div id="app">
<ul>
<template v-for="i in items">
<li>Index is {{$index}}</li>
<li>Content is {{i}}</li>
</template>
</ul>
</div>
<script>
var vm =newVue({
el:'#app',
data:{
items:{
a:"1",
b:"2",
c:"3"
}
}
})
</script>
<ul>
<li>Index is 0</li><li>Content is 1</li>
<li>Index is 1</li><li>Content is 2</li>
<li>Index is 2</li><li>Content is 3</li>
</ul>
陣列變動檢測
變異方法(修改了原始陣列): vue.js包裝了被觀察陣列的變異方法,故它們能出發檢視更新,即當利用這些方法變更陣列時,被渲染的內容會實時更新,被包裝的方法有:- push() 陣列末尾新增
- pop() 陣列末尾取出
- shift() 陣列開頭取出
- unshift() 陣列開頭新增
- splice() 刪除並插入
- sort() 排序
- reverse() 陣列順序顛倒
<ul id="demo">
<li v-for="item in items">
{{item}}
</li>
</ul>
<script>
var vm =newVue({
el:'#demo',
data:function(){
return{items:[4,2,3].splice(0,2)};
}
})
</script>
例如,假定資料為:
{
items:[
{ _uid:'88f869d',...},
{ _uid:'7496c10',...}
]
}
<div v-for="item in items" track-by="_uid">
<!-- content -->
</div>
- 直接用索引設定元素,如 vm.items[0] = {}
- 修改資料的長度,如 vm.items.length = 0
<ul id="demo">
<li v-for="item in items">
{{item.name}}
</li>
</ul>
<button onclick ="change()">移除</button>
<script>
var test ={name:'d'}
var vm =newVue({
el:'#demo',
data:{
items:[
{name:'a'},
{name:'b'},
{name:'c'}
]
},
相關推薦
Vue.js筆記-條件渲染 列表渲染
條件渲染 v-if <div id="demo"><div v-if="abc">{{abc.a}}</div> //該值為true時顯示該標籤,為false則不顯示</div><script> va
Vue.js(五)列表渲染 v-for
但是 todo dex length ref 循環 模式 ssa 默認 v-for="item in items " // 數組更新檢測 // 對象更改檢測註意事項 // 顯示過濾 / 排序結果 // 一段取值範圍的 v-for // v-for
02 . Vue入門基礎之條件渲染,列表渲染,事件處理器,表單控制元件繫結
#### vue基礎 ##### 宣告式渲染 `Vue.js 的核心是一個允許採用簡潔的模板語法來宣告式地將資料渲染進 DOM 的系統` `Example1` ```vue Examples {{ 10+203 }} {{ myname }
Vue源碼後記-vFor列表渲染(2)
property per share turn logs eno ext 形參 dsl 這一節爭取搞完! 回頭來看看那個render代碼,為了便於分析,做了更細致的註釋; (function() { // 這裏this指向vue對象 下面
Vue源碼後記-vFor列表渲染(3)
undefined ++ 源碼 blog back war 什麽 tns check 這一節肯定能完! 經過DOM字符串的AST轉化,再通過render變成vnode,最後就剩下patch到頁面上了。 render函數跑完應該是在這裏: func
vue學習:v-for列表渲染
一、用 v-for 把一個數組對應為一組元素 我們用 v-for 指令根據一組陣列的選項列表進行渲染。v-for 指令需要使用 item in items 形式的特殊語法,items 是源資料陣列並且 item 是陣列元素迭代的別名。 <ul id="example
使用 PHP 來做 Vue.js 的 SSR 服務端渲染
對於客戶端應用來說,服務端渲染是一個熱門話題。然而不幸的是,這並不是一件容易的事,尤其是對於不用 Node.js 環境開發的人來說。 讓我們一起來仔細研究一些服務端渲染的概念,權衡優缺點,然後遵循第一法則用 PHP 建立一個服務端渲染。 什麼是服
Vue.js優雅的實現列表清單
叠代 logs 編輯 關心 rect 之間 images 頁面 是否 一、Vue.js簡要說明 原文章鏈接 http://www.cnblogs.com/zjf-1992/p/7834797.html Vue.js (讀音 /vju?/) 是一套構建用戶界面的漸
vue.js筆記(二)
ceo fad cli ani -s animate nbsp tran rip animate.css動畫 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <met
Vue.js 筆記
blank node -s font ins 推薦 chrom 增量 一個 作者:gqk: Node.js: 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 的包管理器 npm,是全球最大的開源庫生態系統。 說明安裝成功;
Vue.js 筆記(二) 模板語法
指令 1. 以 v- 開頭 常見有:v-bind(資料單向輸出),v-html(顯示html),v-model(資料雙向繫結),v-if(條件,是否插入元素),v-on(事件) 2. 引數,指令後加冒號,如:v-bind:class='class1' 將
Vue.js 筆記(一) 起步
快速入門 <!DOCTYPE html> <html lang="zh" dir="ltr"> <head> <meta charset="utf-8"> <title>vue test </titl
前端JS框架——Vue.js筆記(一)
基本的Vue程式碼結構: 插值表示式: v-text: 使用v-cloak解決v-text閃爍問題: 使用v-html對html格式文字進行渲染 使用v-bind進行資料繫結: 它的縮寫是: 使用v-on進行事件監聽繫結: 它的縮寫是@符號 事件修飾符:
Vue.js筆記-表單控制元件繫結
基礎語法 可以用v-model指令在表單控制元件元素上建立雙向資料繫結,根據控制元件型別它自動選取正確的方法更新元素。 text <span>Message is
初入vue.js,vue.js筆記
1、vue.js簡介 Vue.js 是用於構建互動式的 Web 介面的庫。它提供了 MVVM 資料繫結和一個可組合的元件系統,具有簡單、靈活的 API。 從技術上講, Vue.js 集中在 MVVM 模式上的檢視模型層,並通過雙向資料
Vue學習筆記九:列表案例
The border reac val -h 框架 一行 spl this 目錄 前言 Bootstrap插件下載 Bootstrap表格和面板 增加數據,v-model和
【Vue.js學習筆記】6:動態繫結CSS樣式,條件渲染和v-show
動態繫結CSS樣式 這部分涉及官方文件中的Class與Style繫結。 index.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:
vue學習筆記(五)條件渲染和列表渲染
前言 在眾多的程式語言中,我們的基礎語法總是少不了一些專業語法,比如像定義變數,條件語句,for迴圈,陣列,函式等等,vue.js這個優秀的前端框架中也有同樣的語法,我們換一個名詞,將條件語句改成專業詞彙叫做條件渲染,迴圈語句改成專業詞彙叫做列表渲染,這樣比較舒服一點。 本章目標 學會條件渲染的使用
vue 條件渲染與列表渲染
title 計算屬性 需求 nal fit login 想要 ext clas 本文是對官方文檔的整理 因為 v-if 是一個指令,所以必須將它添加到一個元素上。但是如果想切換多個元素呢?此時可以把一個 <template> 元素當做不可見的包裹元素,並在上面使
VUE:條件渲染和列表渲染
條件渲染 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head>