最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

 更新時間:2018年10月12日 13:00:11   作者:小_Li_Kelly_前端  
Vue.js的指令是以v-開頭的,它們作用于HTML元素,指令提供了一些特殊的特性。這篇文章主要介紹了Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on 的相關(guān)知識,需要的朋友可以參考下

Vue.js的指令是以v-開頭的,它們作用于HTML元素,指令提供了一些特殊的特性,將指令綁定在元素上時,指令會為綁定的目標元素添加一些特殊的行為,我們可以將指令看作特殊的HTML特性(attribute)。

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

v-if指令

v-for指令

v-show指令

v-else指令

v-bind指令

v-on指令

1:v-if指令

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

v-if="expression"

expression是一個返回布爾值的表達式,表達式可以是一個布爾值屬性,也可以是一個返回布爾值的運算式。

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!"會被輸出;

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

//運算式age >= 18返回true,所以"Age: 28"會被輸出;

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

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

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

Tempalte是vue提供的一個自定義元素,寫在這個里面的 元素會根據(jù)template v-if屬性來控制顯隱,在渲染以后這個元素會被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指令基于一個數(shù)組渲染一個列表,它和JavaScript的遍歷語法相似:

v-for="item in items"

items是一個數(shù)組,item是當前被遍歷的數(shù)組元素。

Eg:

<ul id="app">
<li v-for="item in list">{{item}}</li>
</ul>
/var data = [
'快樂大本營',
'奔跑吧兄弟',
'極限挑戰(zhàn)'
]
var app = new Vue({
el: '#app',
data: {
list: data
}
})

與v-if一樣v-for也可以應(yīng)用在template元素上,此時可以實現(xiàn)對多組元素的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: '快樂大本營'
},
{
type: '浙江',
title: '奔跑吧兄弟'
},
{
type: '東方',
title: '極限挑戰(zhàn)'
}
]
var app = new Vue({
el: '#app',
data: {
list: data
}
})

3:v-show指令

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

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

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

V-if會刪除元素,v-show只是做樣式顯隱,會保留頁面中

4:v-else指令

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

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

v-if為true,后面的v-else不會渲染到HTML;v-show為tue,但是后面的v-else渲染到HTML。

5:v-bind指令

v-bind指令可以在其名稱后面帶一個參數(shù),中間放一個冒號隔開,這個參數(shù)通常是HTML元素的特性(attribute),例如:v-bind:class=”''

v-bind:argument="expression"

6:v-on指令

v-on指令用于給監(jiān)聽DOM事件,它的用語法和v-bind是類似的,例如監(jiān)聽<a>元素的點擊事件:

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

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

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

Methods他的值是一個對象

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

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

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

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

當我們在使用事件時候,可以傳遞一些參數(shù),此時在vue的事件回調(diào)函數(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ù)都能訪問到 msg, $event, 'hello'
// 通過this訪問vue實例化對象上的其他屬性和方法。Data.title data.aa
this.title = '快樂大本營';
},
aa: function () {
}
}
})

總結(jié)

以上所述是小編給大家介紹的Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue使用el-upload實現(xiàn)文件上傳的實例代碼

    vue使用el-upload實現(xiàn)文件上傳的實例代碼

    這篇文章主要為大家詳細介紹了vue使用el-upload實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴們可以參考一下
    2024-01-01
  • vue mounted 調(diào)用兩次的完美解決辦法

    vue mounted 調(diào)用兩次的完美解決辦法

    在開發(fā)中發(fā)現(xiàn)其中一個頁面moutned調(diào)用了兩次,而其他頁面正常,表示很懵逼,然后查找原因,終于找到了,其實歸根到底是要知道m(xù)ounted的調(diào)用機制問題。這篇文章主要介紹了vue mounted 調(diào)用兩次的解決辦法,需要的朋友可以參考下
    2018-10-10
  • vue+drf+第三方滑動驗證碼接入的實現(xiàn)

    vue+drf+第三方滑動驗證碼接入的實現(xiàn)

    這篇文章要給大家介紹的是vue和drf以及第三方滑動驗證碼接入的實現(xiàn),下文小編講詳細講解該內(nèi)容,感興趣的小伙伴可以和小編一起來學(xué)習(xí)奧
    2021-10-10
  • vue.js中父組件調(diào)用子組件的內(nèi)部方法示例

    vue.js中父組件調(diào)用子組件的內(nèi)部方法示例

    這篇文章主要給大家介紹了關(guān)于vue.js中父組件調(diào)用子組件內(nèi)部方法的相關(guān)資料,文中給出來了詳細的示例代碼供大家參考學(xué)習(xí),對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • vue完成項目后,打包成靜態(tài)文件的方法

    vue完成項目后,打包成靜態(tài)文件的方法

    今天小編就為大家分享一篇vue完成項目后,打包成靜態(tài)文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue中使用vue-pdf的方法詳解

    vue中使用vue-pdf的方法詳解

    這篇文章主要介紹了vue中使用vue-pdf的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Vue波紋按鈕組件制作

    Vue波紋按鈕組件制作

    本文給大家分享了VUE制作點擊按鈕出現(xiàn)水波紋效果的組件過程,對此有需求的朋友可以跟著學(xué)習(xí)下。
    2018-04-04
  • vue-cli3打包時圖片壓縮處理方式

    vue-cli3打包時圖片壓縮處理方式

    這篇文章主要介紹了vue-cli3打包時圖片壓縮處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • ssm+vue前后端分離框架整合實現(xiàn)(附源碼)

    ssm+vue前后端分離框架整合實現(xiàn)(附源碼)

    這篇文章主要介紹了ssm+vue前后端分離框架整合實現(xiàn)(附源碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實例

    vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實例

    這篇文章主要介紹了vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

塔城市| 宁德市| 乌鲁木齐市| 宝兴县| 兴仁县| 成安县| 雅江县| 龙海市| 海南省| 四子王旗| 东阿县| 青田县| 大埔县| 富阳市| 沐川县| 昌平区| 开江县| 吐鲁番市| 海丰县| 西充县| 宁安市| 若尔盖县| 吕梁市| 黔西| 黄大仙区| 两当县| 临海市| 茂名市| 崇文区| 乌拉特前旗| 观塘区| 台东县| 泰兴市| 石家庄市| 平潭县| 夏津县| 太仆寺旗| 孙吴县| 阳朔县| 张家港市| 江华|