站長(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久久久久久久a | 久久青青草原精品国产 | 国产乱子伦精品免费视频| 69久久夜色精品国产69| 无码国产精品一区二区免费式芒果| 久久精品成人免费国产片小草 | 国产精品爽爽va在线观看网站| 亚洲精品成人片在线观看精品字幕| 国产亚州精品女人久久久久久| 老司机国内精品久久久久| 国产精品免费大片| 性欧洲精品videos| 亚洲AV无码之日韩精品| 欧美黑人巨大videos精品| 精品无人区无码乱码大片国产| 国产香蕉国产精品偷在线| 精品国内自产拍在线观看| 国产精品免费久久| 国产精品美女久久久免费| 国产玖玖玖九九精品视频| 国产精品九九九| 国产精品亚洲高清一区二区 | 欧美精品播放| 巨大黑人极品VIDEOS精品| 久久性精品| 久久午夜无码鲁丝片午夜精品| 久久青青草原精品国产软件| 欧美国产精品久久高清| 亚洲精品tv久久久久久久久久| 亚洲&#228;v永久无码精品天堂久久 | 国产精品国产三级国产潘金莲| 999国产精品视频| 成人精品一区二区三区免费看 | 欧美精品一二区| 亚洲av无码成人精品区| 亚洲精品高清无码视频| 欧美精品v欧洲精品| 国产精品无码无卡在线播放 |