站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        一文詳解vue指令及其過(guò)濾器(附代碼示例)

        本篇文章給大家?guī)?lái)了關(guān)于前端vue的相關(guān)知識(shí),聊聊什么是內(nèi)容渲染指令以及屬性綁定指令等等,感興趣的朋友,下面一起來(lái)看一下吧,希望對(duì)需要的朋友有所幫助!

        一文詳解vue指令及其過(guò)濾器(附代碼示例)

        vue 指令與過(guò)濾器

        內(nèi)容渲染指令

        內(nèi)容渲染指令是用來(lái)輔助開發(fā)者渲染 DOM 元素的文本內(nèi)容。常用的內(nèi)容渲染指令有3種。

        v-text

        示例

        <div id="app">     <!-- 把 username 對(duì)應(yīng)的值,渲染到第一個(gè) p 標(biāo)簽中 -->     <p v-text="username"></p>     <!-- 把 gender 對(duì)應(yīng)的值,渲染到第二個(gè) p 標(biāo)簽中 -->     <!-- 注意:第二個(gè) p 標(biāo)簽中,默認(rèn)文本會(huì)被gender值覆蓋 -->     <p v-text="gender">性別</p> </div> <!-- 導(dǎo)入 vue 的庫(kù)文件 -->     <script src="./lib/vue.js v2.7.13.js"></script>
        登錄后復(fù)制

        //創(chuàng)建vue 的實(shí)例對(duì)象 const vm = new Vue({     //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器     el: '#app',     // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)     data: {         username: 'zs',         gender: '男'     } });
        登錄后復(fù)制

        插值表達(dá)式 {{}}雙大括號(hào)

        在實(shí)際開發(fā)中應(yīng)用較多,不會(huì)覆蓋原有渲染
        示例

        <div id="app">     <p>姓名:{{username}}</p> </div>
        登錄后復(fù)制

        const vm = new Vue({     //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器     el: '#app',     // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)     data: {         username: 'zs',         gender: '男',     } });
        登錄后復(fù)制

        v-html

        可以把帶標(biāo)簽的的字符串,渲染成真正的html 內(nèi)容
        示例

        <div id="app">     <div v-html="info"></div> </div>
        登錄后復(fù)制

        const vm = new Vue({             //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器             el: '#app',             // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)             data: {                 info: '<h4 style="color: red; font-weight: bold;"> 歡迎學(xué)習(xí) vuejs</h4>'             }         });
        登錄后復(fù)制

        屬性綁定指令

        注意:插值表達(dá)式只能用在元素內(nèi)容節(jié)點(diǎn)中,不能用在元素的屬性節(jié)點(diǎn)

        動(dòng)態(tài)綁定屬性值 v-bind

        在屬性前加屬性指令 v-bind: 為元素動(dòng)態(tài)綁定值,vue 規(guī)定 v-bind 可以簡(jiǎn)寫成: ,示例

        <input type="text" v-bind:placeholder="tips"> <img :src="photo" style="width: 150px;">
        登錄后復(fù)制

        使用 javascript 表達(dá)式

        在 vue 提供的模板渲染語(yǔ)法中,除了支持綁定簡(jiǎn)單的數(shù)據(jù)值之外,還支持 javascript 表達(dá)式的運(yùn)算,例如

        {{ number + 1 }}; {{ ok ? 'YES' : 'NO'}}; {{ message.split('').reverse().join('')}};  <div v-bind:id="'list-' + id"></div>
        登錄后復(fù)制

        注意在簡(jiǎn)寫 v-bind 屬性綁定期間,如果綁定內(nèi)容需要進(jìn)行動(dòng)態(tài)拼接,則字符串外應(yīng)包裹單引號(hào),例如

        <div :title="'box' + index">!!!!!</div>
        登錄后復(fù)制

        事件綁定指令

        v-on 綁定事件

        v-on 綁定事件指令,輔助程序員為DOM元素綁定監(jiān)聽事件,格式如下

        <p>count的值是: {{count}}</p>         <!-- 語(yǔ)法格式為 v-on:事件名稱="事件處理函數(shù)的名稱" -->         <button v-on:click="addCount">+1</button>
        登錄后復(fù)制

         const vm = new Vue({             //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器             el: '#app',             // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)             data:{                 count: 0,             },             // 定義事件的處理函數(shù)             methods:{                 add: function () {                     // console.log(vm);                     // vm.count += 1;  		    // this === vm                      this.count += 1;                 } 		// 也可簡(jiǎn)寫成                 add () {                     // console.log(vm);                     this.count += 1;                 }             }         });
        登錄后復(fù)制

        v-on: 也可以簡(jiǎn)寫為 @

        <button @click="sub">-1</button>
        登錄后復(fù)制

        注意:原生 DOM 對(duì)象有 onclick、oninput、onkeydown 等原生事件,替換成 vue 的事件綁定形式后,分別為: v-on:click 、v-on:input、v-on:keydown

        事件對(duì)象

        vue 提供了內(nèi)置固定的變量 $event ,它就是原生 DOM 的事件對(duì)象 e

        <!-- 如果 count 為偶數(shù),則按鈕背景變?yōu)樗{(lán)色,否則,取消背景 --> <!-- vue 提供了內(nèi)置固定的變量 $event ,它就是原生 DOM 的事件對(duì)象 e-->         <button @click="add(1, $event)">+n</button>
        登錄后復(fù)制

        const vm = new Vue({             //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器             el: '#app',             // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)             data:{                 count: 0,             },             // 定義事件的處理函數(shù)             methods:{                 add (n, e) {                     this.count += 1;                     // 判斷 this.count 的值是否為偶數(shù)                     if (this.count%2 === 0) {                         //偶數(shù)                         e.target.style.backgroundColor = 'blue';                         console.log(e);                     } else {                         // 奇數(shù)                         e.target.style.backgroundColor = '';                     }                 }                            }                    });
        登錄后復(fù)制

        事件修飾符

        在事件處理函數(shù)中調(diào)用 event.preventDefault() event.stopPROpagation() 是非常常見的需求。因此, vue 提供了事件修飾的概念,輔助程序員更方便的**對(duì)事件的觸發(fā)進(jìn)行控制。常用5種修飾符如下:

        事件修飾符 說(shuō)明
        .prevent 阻止默認(rèn)行為(例如:阻止 a 鏈接跳轉(zhuǎn)、阻止表單提交等)
        .stop 阻止事件冒泡
        .capture 以捕獲模式觸發(fā)當(dāng)前的事件處理函數(shù)
        .once 綁定事件只觸發(fā)一次
        .self 只有在 event.target 是當(dāng)前元素自身時(shí)觸發(fā)事件處理函數(shù)

        示例1:

        <a href="http://www.baidu.com" @click.prevent="show">跳轉(zhuǎn)到百度首頁(yè)</a>
        登錄后復(fù)制

        const vm = new Vue({             //el 屬性是固定寫法,表示當(dāng)前 vm 實(shí)例要控制的區(qū)域,接收的是一個(gè)選擇器             el: '#app',             // data 對(duì)象就是要渲染到頁(yè)面上的數(shù)據(jù)             data:{},             // 定義事件的處理函數(shù)             methods:{                 show () { 		    // e.preventDefault();                     console.log("點(diǎn)擊了 a 鏈接");                 }             }          });
        登錄后復(fù)制

        推薦學(xué)習(xí):《vue.js視頻教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 国产成人久久久精品二区三区| 欧美成人精品第一区二区三区| 国产精品99久久久久久董美香| 人妻少妇精品视中文字幕国语| 国产三级精品三级在线观看| 国产精品久久毛片完整版| 香港三级精品三级在线专区| 国产成人久久精品麻豆一区| 国产福利91精品一区二区三区| 亚洲欧美日韩另类精品一区二区三区| 国产亚洲精品看片在线观看 | 最新国产精品精品视频| 国产精品美女网站| 欧美精品国产一区二区| 国产在线精品免费aaa片| 夜夜高潮夜夜爽国产伦精品| 精品人妻无码专区中文字幕 | 精品久久777| 国产伦精品免编号公布| 亚洲国产精品无码久久久蜜芽| 乱人伦人妻精品一区二区| 国产精品 视频一区 二区三区| 欧美精品黑人巨大在线播放| 国产精品99久久久久久人| 精品国际久久久久999波多野| 亚洲一级Av无码毛片久久精品| 久久精品三级视频| 久久精品无码一区二区三区日韩 | 亚洲精品国产精品乱码视色 | 99re热这里只有精品视频中文字幕| 久久国产精品99精品国产| 亚洲精品乱码久久久久久按摩| 亚洲愉拍99热成人精品热久久 | 亚洲欧美精品AAAAAA片| 中文字幕久久精品无码| 一本精品中文字幕在线| 亚洲&#228;v永久无码精品天堂久久 | 亚洲精品V欧洲精品V日韩精品 | 日韩精品内射视频免费观看| 亚洲精品国产美女久久久| 亚洲国产精品无码久久SM|