摘要:列表渲染用把一個(gè)數(shù)組對(duì)應(yīng)為一組元素我們用指令根據(jù)一組數(shù)組的選項(xiàng)列表進(jìn)行渲染。你也可以用替代作為分隔符把對(duì)象屬性渲染列表你也可以提供第二個(gè)的參數(shù)為鍵名第三個(gè)參數(shù)為索引渲染組件列表自定義組件里,你可以像任何普通元素一樣用。
列表渲染 用v-for把一個(gè)數(shù)組對(duì)應(yīng)為一組元素
我們用 v-for 指令根據(jù)一組數(shù)組的選項(xiàng)列表進(jìn)行渲染。 v-for 指令需要以 item in items 形式的特殊語法, items 是源數(shù)據(jù)數(shù)組并且 item 是數(shù)組元素迭代的別名。
{{item.text}}{{wenben}}
data:{ items:[ {text:"chifan",isOk:true}, {text:"shuijue",isOk:false}, {text:"kandianshi",isOk:true}, {text:"dayouxi",isOk:true}, {text:"kandianying",isOk:false}, ] }
在 v-for 塊中,我們擁有對(duì)父作用域?qū)傩缘耐耆L問權(quán)限。 v-for 還支持一個(gè)可選的第二個(gè)參數(shù)為當(dāng)前項(xiàng)的索引。
你也可以用 of 替代 in 作為分隔符{{index}}{{item.text}}{{wenben}}
v-for把對(duì)象屬性渲染列表
{{value}}
你也可以提供第二個(gè)的參數(shù)為鍵名:
{{key}} is {{value}}
第三個(gè)參數(shù)為索引:
v-for渲染組件列表{{index}}{{key}} is {{value}}
自定義組件里,你可以像任何普通元素一樣用 v-for 。
2.2.0+ 的版本里,當(dāng)在組件中使用 v-for 時(shí),key 現(xiàn)在是必須的。
一段取值范圍的v-for
v-for 也可以取整數(shù)。在這種情況下,它將重復(fù)多次模板。
{{ n }}
v-for on a
我們想要顯示一個(gè)數(shù)組的過濾或排序副本,而不實(shí)際改變或重置原始數(shù)據(jù)。在這種情況下,可以創(chuàng)建返回過濾或排序數(shù)組的計(jì)算屬性。
{{num}}
在計(jì)算屬性不適用的情況下 (例如,在嵌套 v-for 循環(huán)中) 你可以使用一個(gè) method 方法:
數(shù)組更新檢測 變異方法{{num}}
Vue 包含一組觀察數(shù)組的變異方法,所以它們也將會(huì)觸發(fā)視圖更新。這些方法如下:
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
重塑數(shù)組變異方法(mutation method),顧名思義,會(huì)改變被這些方法調(diào)用的原始數(shù)組。相比之下,也有非變異(non-mutating method)方法,例如: filter(), concat() 和 slice() 。這些不會(huì)改變原始數(shù)組,但總是返回一個(gè)新數(shù)組。當(dāng)使用非變異方法時(shí),可以用新數(shù)組替換舊數(shù)組:
example1.items = example1.items.filter(function (item) { return item.message.match(/Foo/) })注意事項(xiàng)
1.當(dāng)你利用索引直接設(shè)置一個(gè)項(xiàng)時(shí),例如: vm.items[indexOfItem] = newValue
2.當(dāng)你修改數(shù)組的長度時(shí),例如: vm.items.length = newLength
為了解決第一類問題,以下兩種方式都可以實(shí)現(xiàn)和 vm.items[indexOfItem] = newValue 相同的效果, 同時(shí)也將觸發(fā)狀態(tài)更新:
// Vue.set Vue.set(example1.items, indexOfItem, newValue)
// Array.prototype.splice example1.items.splice(indexOfItem, 1, newValue)
為了解決第二類問題,你可以使用 splice:
example1.items.splice(newLength)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85153.html
摘要:條件渲染上一篇與綁定下一篇的事件處理方法在中配合渲染一整組在使用控制元素的時(shí)候,我們需要將它添加到這個(gè)元素上去。最終的渲染結(jié)果不會(huì)包含元素。渲染如下列表渲染使用把一個(gè)數(shù)組對(duì)應(yīng)為一組元素我們用指令根據(jù)一組數(shù)組的選項(xiàng)列表進(jìn)行渲染。 條件渲染 上一篇:Class 與 Style 綁定:https://segmentfault.com/a/11...下一篇:Vue的事件處理方法:https:/...
之前在vue里面綁定數(shù)據(jù),都只是單個(gè)地綁定。這期我們來看一下怎樣渲染列表,然后通過事件監(jiān)聽方法往列表里面增加item。 列表渲染 廢話不多說,直接上代碼: {{ item }} var app = new Vue({ el: #app, data: { list: [ ...
摘要:與綁定數(shù)據(jù)綁定一個(gè)常見需求是操作元素的列表和它的內(nèi)聯(lián)樣式。兩者只能選其一對(duì)象語法我們可以傳給一個(gè)對(duì)象,以動(dòng)態(tài)地切換。注意不支持語法。相比之下,簡單得多元素始終被編譯并保留,只是簡單地基于切換。這意味著將分別重復(fù)運(yùn)行于每個(gè)循環(huán)中。 vue Class 與 Style 綁定 數(shù)據(jù)綁定一個(gè)常見需求是操作元素的 class 列表和它的內(nèi)聯(lián)樣式。因?yàn)樗鼈兌际菍傩?,我們可以?v-bind 處理...
摘要:原型方法通過原型方法方法來掛載實(shí)例。當(dāng)響應(yīng)式屬性發(fā)生變化時(shí),會(huì)通知依賴列表中的對(duì)象進(jìn)行更新。此時(shí),對(duì)象執(zhí)行方法,重新渲染節(jié)點(diǎn)。在執(zhí)行過程中,如果需要讀取響應(yīng)式屬性,則會(huì)觸發(fā)響應(yīng)式屬性的??偨Y(jié)響應(yīng)式屬性的原理 vue實(shí)例 初始化 完成以后,接下來就要進(jìn)行 掛載。 vue實(shí)例掛載,即為將vue實(shí)例對(duì)應(yīng)的 template模板,渲染成 Dom節(jié)點(diǎn)。 原型方法 - $mount ? 通過原...
摘要:代碼原生渲染有時(shí)數(shù)據(jù)中攜帶了標(biāo)簽,輸出它們時(shí),按文本解析,如使用輸出原生的使用原生指令解析數(shù)據(jù)中標(biāo)簽為原生你的站點(diǎn)上動(dòng)態(tài)渲染的任意可能會(huì)非常危險(xiǎn),因?yàn)樗苋菀讓?dǎo)致攻擊。 代碼 原生html渲染v-html 有時(shí)數(shù)據(jù)中攜帶了Html標(biāo)簽,輸出它們時(shí),按文本解析,如: new Vue({ data: { title:使用v-html輸出原生的html, } ...
閱讀 927·2021-11-22 13:54
閱讀 2855·2021-09-28 09:36
閱讀 2993·2019-08-30 15:55
閱讀 1960·2019-08-30 15:44
閱讀 555·2019-08-29 12:31
閱讀 2571·2019-08-28 18:18
閱讀 1209·2019-08-26 13:58
閱讀 1395·2019-08-26 13:44