10-Vue的常用指令

Vue的常用指令v-if, v-for脯宿, v-show,v-else泉粉, v-bind连霉, v-on

?Vue.js的指令是以v-開(kāi)頭的榴芳,它們作用于HTML元素,指令提供了一些特殊的特性跺撼,將指令綁定在元素上時(shí)窟感,指令會(huì)為綁定的目標(biāo)元素添加一些特殊的行為,我們可以將指令看作特殊的HTML特性(attribute)歉井。

Vue.js提供了一些常用的內(nèi)置指令柿祈,如下:

v-if指令

v-for指令

v-show指令

v-else指令

v-bind指令

v-on指令

1:v-if指令

v-if指令是條件渲染指令,它根據(jù)表達(dá)式的真假來(lái)刪除和插入元素哩至,它的基本語(yǔ)法如下:

v-if="expression"

expression是一個(gè)返回布爾值的表達(dá)式躏嚎,表達(dá)式可以是一個(gè)布爾值屬性,也可以是一個(gè)返回布爾值的運(yùn)算式憨募。

Eg:

??<div id="app">

????????????<h1>Hello, Vue.js!</h1>

????????????<h1 v-if="yes">Yes!</h1>

????????????<h1 v-if="no">No!</h1>

????????????<h1 v-if="age >= 18">Age: {{ age }}</h1>

????????????<h1 v-if="name.indexOf('li') >= 0">Name: {{ name }}</h1>

????????</div>

????????var app= new Vue({

????????????el: '#app',

????????????data: {

????????????????yes: true,

????????????????no: false,

????????????????age: 20,

????????????????name: 'lililili'

????????????}

????????})

????????//數(shù)據(jù)的yes屬性為true紧索,所以"Yes!"會(huì)被輸出;

//數(shù)據(jù)的no屬性為false菜谣,所以"No!"不會(huì)被輸出;

//運(yùn)算式age >= 18返回true晚缩,所以"Age: 28"會(huì)被輸出尾膊;

//運(yùn)算式name.indexOf('li') >= 0返回false,所以"Name: lililili"會(huì)被輸出荞彼。

V-if只能控制一個(gè)元素上的是否顯隱冈敛,對(duì)于多個(gè)元素控制我們可以使用一個(gè)template元素實(shí)現(xiàn)

在vue中我們想使用條件模板直接在dom元素上使用v-if指令,v-if指令的值表示vue實(shí)例對(duì)象上的數(shù)據(jù)值

Tempalte是vue提供的一個(gè)自定義元素鸣皂,寫在這個(gè)里面的 元素會(huì)根據(jù)template v-if屬性來(lái)控制顯隱抓谴,在渲染以后這個(gè)元素會(huì)被vue刪除掉,(v-if指令元素保留)

<div id="app">

<template v-if="type">

<span>{{type}}</span> <span> | </span>

</template>

<strong>{{title}}</strong>

</div>

<script type="text/javascript" src="vue.js"></script>

<script type="text/javascript">

// 數(shù)據(jù)

var data = {

title: '哈哈哈',

type: '科技'

}

var app = new Vue({

el: '#app',

data: data

})

2:v-for指令

v-for指令基于一個(gè)數(shù)組渲染一個(gè)列表寞缝,它和JavaScript的遍歷語(yǔ)法相似:

v-for="item in items"

items是一個(gè)數(shù)組癌压,item是當(dāng)前被遍歷的數(shù)組元素。

Eg:

<ul id="app">

<li v-for="item in list">{{item}}</li>

</ul>

/var data = [

'快樂(lè)大本營(yíng)',

'奔跑吧兄弟',

'極限挑戰(zhàn)'

]

var app = new Vue({

el: '#app',

data: {

list: data

}

})

與v-if一樣v-for也可以應(yīng)用在template元素上荆陆,此時(shí)可以實(shí)現(xiàn)對(duì)多組元素的for循環(huán)

Eg:

<ul id="app">

<template v-for="item in list">

<li>

<span v-if="item.type">{{item.type}} | </span>

<strong>{{item.title}}</strong>

</li>

<br>

</template>

</ul>

var data = [

{

type: '湖南',

title: '快樂(lè)大本營(yíng)'

},

{

type: '浙江',

title: '奔跑吧兄弟'

},

{

type: '東方',

title: '極限挑戰(zhàn)'

}

]

var app = new Vue({

el: '#app',

data: {

list: data

}

})

3:v-show指令

v-show也是條件渲染指令滩届,控制元素顯隱,和v-if指令不同的是被啼,使用v-show指令的元素始終會(huì)被渲染到HTML帜消,它只是簡(jiǎn)單地為元素設(shè)置CSS的style屬性。

V-if是false會(huì)將元素在dom文檔中刪除

V-show是false是將元素的display設(shè)置none

V-if會(huì)刪除元素浓体,v-show只是做樣式顯隱泡挺,會(huì)保留頁(yè)面中

4:v-else指令

可以用v-else指令為v-if或v-show添加一個(gè)“else塊”。v-else元素必須立即跟在v-if或v-show元素的后面——否則它不能被識(shí)別命浴。

v-else元素是否渲染在HTML中娄猫,取決于前面使用的是v-if還是v-show指令。

v-if為true,后面的v-else不會(huì)渲染到HTML稚新;v-show為tue勘伺,但是后面的v-else渲染到HTML。

5:v-bind指令

v-bind指令可以在其名稱后面帶一個(gè)參數(shù)褂删,中間放一個(gè)冒號(hào)隔開(kāi)飞醉,這個(gè)參數(shù)通常是HTML元素的特性(attribute),例如:v-bind:class=”’’

v-bind:argument="expression"

6:v-on指令

v-on指令用于給監(jiān)聽(tīng)DOM事件屯阀,它的用語(yǔ)法和v-bind是類似的缅帘,例如監(jiān)聽(tīng)<a>元素的點(diǎn)擊事件:

<a v-on:click="doSomething">

語(yǔ)法:V-on:click=“事件回調(diào)函數(shù)的名稱”

定義事件的回調(diào)函數(shù),在vue的實(shí)例化對(duì)象的methods屬性中定義

Methods他的值是一個(gè)對(duì)象

對(duì)象是屬性名稱表示事件的回調(diào)函數(shù)名稱

對(duì)象的屬性值是一個(gè)函數(shù)难衰,就是事件的回調(diào)函數(shù)

他的this指向的是vue實(shí)例化對(duì)象钦无,因此通過(guò)它我們可以獲取或者設(shè)置vue實(shí)例化對(duì)象上屬性

它默認(rèn)有個(gè)參數(shù)是事件對(duì)象,這個(gè)事件對(duì)象可以訪問(wèn)該事件的相關(guān)信息$event傳遞參數(shù)可以訪問(wèn)到事件對(duì)象

當(dāng)我們?cè)谑褂檬录r(shí)候盖袭,可以傳遞一些參數(shù)失暂,此時(shí)在vue的事件回調(diào)函數(shù)中它的參數(shù)與事件使用時(shí)候傳入的參數(shù)是一致的

<input type="text" v-model="msg">

<button v-on:click="showTitle(msg, $event, 'hello')">btn</button>

<button v-on:click="showTitle">btn2</button>

<h1>{{title}}</h1>

var app = new Vue({

el: '#app',

data: {

title: '',

msg: ''

},

methods: {

// 屬性名稱表示回調(diào)函數(shù)的名稱

showTitle: function () {

// console.log(this)

// console.log(arguments)???????傳的參數(shù)都能訪問(wèn)到 msg, $event, 'hello'

// 通過(guò)this訪問(wèn)vue實(shí)例化對(duì)象上的其他屬性和方法。Data.title ??data.aa

this.title = '快樂(lè)大本營(yíng)';

},

aa: function () {

}

}

})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鳄虱,一起剝皮案震驚了整個(gè)濱河市弟塞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拙已,老刑警劉巖决记,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異倍踪,居然都是意外死亡系宫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門建车,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)扩借,“玉大人,你說(shuō)我怎么就攤上這事癞志⊥希” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵凄杯,是天一觀的道長(zhǎng)错洁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)戒突,這世上最難降的妖魔是什么屯碴? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮膊存,結(jié)果婚禮上导而,老公的妹妹穿的比我還像新娘忱叭。我一直安慰自己,他們只是感情好今艺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布韵丑。 她就那樣靜靜地躺著,像睡著了一般虚缎。 火紅的嫁衣襯著肌膚如雪撵彻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天实牡,我揣著相機(jī)與錄音陌僵,去河邊找鬼。 笑死创坞,一個(gè)胖子當(dāng)著我的面吹牛碗短,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播题涨,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼偎谁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了携栋?” 一聲冷哼從身側(cè)響起搭盾,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婉支,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澜建,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡向挖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炕舵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片何之。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖咽筋,靈堂內(nèi)的尸體忽然破棺而出溶推,到底是詐尸還是另有隱情,我是刑警寧澤奸攻,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布蒜危,位于F島的核電站,受9級(jí)特大地震影響睹耐,放射性物質(zhì)發(fā)生泄漏辐赞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一硝训、第九天 我趴在偏房一處隱蔽的房頂上張望响委。 院中可真熱鬧新思,春花似錦、人聲如沸赘风。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邀窃。三九已至荸哟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛔翅,已是汗流浹背敲茄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留山析,地道東北人堰燎。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像笋轨,于是被迫代替她去往敵國(guó)和親秆剪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • vue概述 在官方文檔中爵政,有一句話對(duì)Vue的定位說(shuō)的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來(lái)聲明...
    li4065閱讀 7,216評(píng)論 0 25
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容仅讽,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,050評(píng)論 0 29
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,209評(píng)論 0 6
  • 主要還是自己看的钾挟,所有內(nèi)容來(lái)自官方文檔洁灵。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,348評(píng)論 0 25
  • 以下內(nèi)容是我在學(xué)習(xí)和研究Vue時(shí)掺出,對(duì)Vue的特性徽千、重點(diǎn)和注意事項(xiàng)的提取、精練和總結(jié)汤锨,可以做為Vue特性的字典双抽; 1...
    科研者閱讀 14,077評(píng)論 3 24