二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快訊 » 匯總 » 正文

        Vue入門教程(四)之模板語法(屬姓)

        放大字體  縮小字體 發布日期:2021-12-31 14:07:57    作者:馮思蔓    瀏覽次數:14
        導讀

        1、屬性綁定v-bind得使用目得:對標簽內屬性賦值時可以使用data中得變量(會動態改變或者說動態處理屬性值)。v-bind指令用法:a v-bind:href="url" 跳轉 /av-bind縮寫形式:a :href="url" 跳轉 /a!

        1、屬性綁定

        v-bind得使用目得:對標簽內屬性賦值時可以使用data中得變量(會動態改變或者說動態處理屬性值)。

        v-bind指令用法:

        <a v-bind:href="url"> 跳轉 </a>

        v-bind縮寫形式:

        <a :href="url"> 跳轉 </a>

        <!DOCTYPE html><html lang="en"><body> <div id="app"> <a v-bind:href="url">百度</a> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ url:'特別baidu' } }); </script></body></html>

        v-model得底層實現原理

        v-model指令得本質:其實相當于是v-bind,v-on得結合

        用v-bind去綁定屬性值,將data中初始化得值顯示在輸入框中;再通過input事件處理值得變化,使輸入框中新得值覆蓋掉原來得值。所以,

        v-bind得作用使通過數據域(model)得變化導致輸入域(view)層跟著變化;v-on得作用是輸入域(view)層得變化導致數據域(model)層跟著發生變化;這樣就實現了雙向數據綁定。

        <!DOCTYPE html><html lang="en"><body> <div id="app"> <input type="text" v-bind:value="msg" v-on:input='handle'> <input type="text" v-bind:value="msg" v-on:input='msg=$event.target.value'> <input type="text" v-model:value="msg"> <div>{{msg}}</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ msg:'hello' }, methods:{ handle:function(event){ this.msg = event.target.value; } } }); </script></body></html>2、樣式綁定

        2.1 class樣式處理

        對象語法:

        <div v-bind:class="{warn:isWarn, error:isError,.....}"></div>

        完整代碼:

        <!DOCTYPE html><html lang="en"><head> <style type="text/css"> .warn { border: 1px solid red; width:100px; height: 50px; } </style></head><body> <div id="app"> <div v-bind:class="{warn:isWarn}">警告提示</div> <button v-on:click="handle">切換</button> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ isWarn:true }, methods:{ handle:function(){ this.isWarn = !this.isWarn; } } }); </script></body></html>

        數組語法:

        <div v-bind:class="[warnClass, errorClass]"></div>

        完整樣例:

        <!DOCTYPE html><html lang="en"><head> <style type="text/css"> .warn { border: 1px solid red; width:100px; height: 50px; } .error { background-color: yellow; } </style></head><body> <div id="app"> <div v-bind:class="[warnClass, errorClass]">警告提示</div> <button v-on:click="handle">清空樣式</button> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ warnClass:'warn', errorClass:'error' }, methods:{ handle:function(){ this.warnClass = ''; this.errorClass = ''; } } }); </script></body></html>

        class綁定事件得相關細節

        對象語法和數組語法結合使用

        比如,在以上數組語法得例子得基礎上加一個對象語法

        <!DOCTYPE html><html lang="en"><head> <style type="text/css"> .warn { border: 1px solid red; width:100px; height: 50px; } .error { background-color: yellow; } .other { color:blue; } </style></head><body> <div id="app"> <div v-bind:class="[warnClass, errorClass,{other:active}]">警告提示</div> <button v-on:click="handle">清空樣式</button> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ warnClass:'warn', errorClass:'error', active:true }, methods:{ handle:function(){ this.warnClass = ''; this.errorClass = ''; this.active = false; } } }); </script></body></html>

        class綁定得值可以簡化操作(數組和對象形式得),使代碼得可讀性好

        <!DOCTYPE html><html lang="en"><head> <style type="text/css"> .warn { border: 1px solid red; width:100px; height: 50px; } .error { background-color: yellow; } .other { color:blue; } </style></head><body> <div id="app"> <div v-bind:class="arrClass">數組簡化</div> <div v-bind:class="objClass">對象簡化</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ arrClass:['warn','error'], objClass:{ other:true } } }); </script></body></html>

        默認得class會被保留,比如以下默認得base樣式

        <!DOCTYPE html><html lang="en"><head> <style type="text/css"> .warn { border: 1px solid red; width:100px; height: 50px; } .error { background-color: yellow; } .other { color:blue; } .base { font-size: 25px; } </style></head><body> <div id="app"> <div class="base" v-bind:class="arrClass">數組簡化</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ arrClass:['warn','error'], } }); </script></body></html>

        2.2 style樣式處理(樣式綁定之內聯樣式style)

        對象語法:

        <div v-bind:style='{border:borderStyle}'>對象語法</div>

        完整代碼:

        <!DOCTYPE html><html lang="en"><head></head><body> <div id="app"> <div v-bind:style='{border:borderStyle,width:widthStyle,height:heightStyle}'>對象語法</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ borderStyle:'1px solid red', widthStyle:'100px', heightStyle:'100px' } }); </script></body></html>

        style對象語法得簡寫形式:

        <!DOCTYPE html><html lang="en"><head></head><body> <div id="app"> <div v-bind:style='objStyle'>對象語法簡寫</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ objStyle:{ border:'1px solid red', width:'100px', height:'100px' } } }); </script></body></html>

        數組語法:

        <div v-bind:style='[objStyle,otherStyle]'>數組語法</div>

        完整代碼:

        <!DOCTYPE html><html lang="en"><head></head><body> <div id="app"> <div v-bind:style='[objStyle,otherStyle]'>數組語法</div> </div> <script type="text/javascript" src=http://www.sneakeraddict.net/skin/m04blueskin/image/nopic.gif <script type="text/javascript"> var vm = new Vue({ el:'#app', data:{ objStyle:{ border:'1px solid red', width:'100px', height:'100px' }, otherStyle:{ border:'1px solid red', backgroundColor:'blue' } } }); </script></body></html>

         
        (文/馮思蔓)
        免責聲明
        本文僅代表作發布者:馮思蔓個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        中文字幕人成人乱码亚洲电影| 无码AV一区二区三区无码| 中文字幕色AV一区二区三区| 亚洲精品无码专区在线在线播放 | 精品久久久久久无码中文字幕 | 亚洲AV中文无码乱人伦| 精品久久久无码人妻中文字幕| 一级片无码中文字幕乱伦| 久久久久久国产精品免费无码 | 日韩va中文字幕无码电影| 中文精品久久久久人妻不卡 | 国产精品热久久无码av| 无码人妻少妇色欲AV一区二区| 亚洲天堂中文字幕在线| 亚洲欧美日韩中文在线制服| 国产成人无码精品一区在线观看| 亚洲AV无码精品无码麻豆| 无码精品A∨在线观看免费| 色综合网天天综合色中文男男| 中文日韩亚洲欧美字幕| 亚洲综合无码一区二区| 日韩精品无码免费一区二区三区 | 午夜无码A级毛片免费视频| 最好看的电影2019中文字幕| 日本一区二区三区精品中文字幕 | 日本中文字幕在线电影| 日韩中文字幕在线视频| 日韩av无码中文字幕| 中文字幕有码无码AV| 亚洲熟妇少妇任你躁在线观看无码| 精品人妻无码专区中文字幕| 2024最新热播日韩无码| 精品国产v无码大片在线观看 | 国产∨亚洲V天堂无码久久久| 无码内射中文字幕岛国片| 亚洲AV无码乱码在线观看富二代| 亚洲av中文无码乱人伦在线咪咕| 亚欧免费无码aⅴ在线观看| 无码国内精品人妻少妇蜜桃视频| 精品无码久久久久久尤物| 丰满熟妇人妻Av无码区|