摘要:一介紹也稱為,讀音類似,錯誤讀音,由華人尤雨溪開源并維護(hù)。隱藏四事件之前說了一些關(guān)于事件的指令,這里詳細(xì)學(xué)習(xí)一下事件的相關(guān)知識。還有一些其他鍵盤事件,具體參考官方文檔。模板就是,用來進(jìn)行數(shù)據(jù)綁定,顯示在頁面中,也稱為語法。
一、Vue.js介紹
Vue.js也稱為Vue,讀音類似view,錯誤讀音v-u-e,由華人尤雨溪開源并維護(hù)。
Vue有以下特點(diǎn):
是一個構(gòu)建用戶界面的框架
是一個輕量級MVVM(Model-View-ViewModel)框架,和angular、react類似
數(shù)據(jù)驅(qū)動+組件化的前端開發(fā)(核心思想)
通過簡單的API實(shí)現(xiàn)響應(yīng)式的數(shù)據(jù)綁定和組合的視圖組件
更容易上手、小巧
參考:官網(wǎng)文檔
二、第一個vue程序{{msg}} //字符串模板//引入vue文件
以上就是一個非常簡單的vue程序。綁定元素這里不但可以使用id選擇器,我們還可以使用類選擇器或者標(biāo)簽選擇器。但是,vue2.0中不允許將vue實(shí)例掛在到html或者body元素上。
三、常用指令指令用來擴(kuò)展HTML功能。vue內(nèi)置了很多指令。
1、v-model實(shí)現(xiàn)雙向數(shù)據(jù)綁定,實(shí)時監(jiān)控數(shù)據(jù)變化,一般用于表單。
{{content}}
在這里,使用v-model指令將輸入框的值與vue實(shí)例中的content進(jìn)行綁定。此后,二者中的任一值發(fā)生變化,另一個值都會跟隨變化。
2、v-for用于遍歷數(shù)組、對象等。
3、v-on
- //遍歷數(shù)組 {{item}}
- //遍歷對象 {{item}}
- //鍵值循環(huán),數(shù)組也適用,注意key在后面 {{key}}----{{value}}
用于綁定事件,用法:v-on:事件="函數(shù)"。
示例:點(diǎn)擊事件
{{msg}}
this指向當(dāng)前vue實(shí)例,由此可獲取實(shí)例的其他屬性。除了點(diǎn)擊事件外還有很多其他事件,具體參考官網(wǎng)API。
4、v-show用來顯示或隱藏元素,v-show是通過display實(shí)現(xiàn)。當(dāng)v-show的值為true時顯示,為false時隱藏。
四、事件
之前說了一些關(guān)于事件的指令,這里詳細(xì)學(xué)習(xí)一下事件的相關(guān)知識。
1、事件簡寫之前的事件都是這樣的寫法:v-on:click="showHello()",vue提供了一種簡寫方式:
@click="showHello()"
我們可以通過事件對象取得事件相關(guān)信息,如事件源、事件類型、偏移量。
下面這個例子通過事件對象取得按鈕的值:
3、事件冒泡與事件默認(rèn)行為
{{msg}}
這里需要討論阻止事件冒泡與阻止默認(rèn)行為,原生js阻止事件冒泡首先得取得事件對象,然后調(diào)用事件對象的stopPropagation方法。在vue里,則不需要依賴于事件對象,只需要調(diào)用相應(yīng)的事件修飾符stop即可:
@click.stop = "print()"
阻止事件默認(rèn)行為和阻止事件冒泡基本一致,在vue里也有十分便利的操作方法:
@click.prevent = "print()"4、鍵盤事件
vue里內(nèi)置了一些鍵盤事件,便于開發(fā)者操作。語法如下:
@keydown.13 = "print()" @keydown.enter = "print()"
除了回車事件外,還有很多其他鍵盤事件,例如下:@keydown.38="print()"。還有一些其他鍵盤事件,具體參考官方文檔。
默認(rèn)沒有@keydown.a/b/c...事件,可以全局自定義鍵盤事件,也稱為自定義鍵碼或自定義鍵位別名:
Vue.config.keyCodes = { v: 86, f1: 112, // camelCase 不可用 mediaPlayPause: 179, // 取而代之的是 kebab-case 且用雙引號括起來 "media-play-pause": 179, up: [38, 87] }
除了stop、prevent、keyCode這些事件修飾符以外,還有一些比較常用:
.native - 監(jiān)聽組件根元素的原生事件。
.once - 只觸發(fā)一次回調(diào)。
五、屬性vue提供了綁定屬性的方法:v-bind:屬性名="",這樣我們即可動態(tài)的改變屬性值。
1、屬性簡寫屬性和事件一樣,也有簡寫方式::屬性名=""
2、class屬性和style屬性綁定class和style屬性時的語法比較復(fù)雜。
(1)變量形式html部分:
Hello vue.js
對應(yīng)的vue的data部分:
data:{ myClass:className }(2)數(shù)組形式,同時引入多個類
html部分:
Hello vue.js
對應(yīng)的vue的data部分:
data:{ myClass1:className1, myClass2:className2, }(3)json形式(常用)
html部分:
Hello vue.js
(4)變量引用json形式html部分:
Hello vue.js
對應(yīng)的vue的data部分:
data:{ myClass:{ className:true } }
style的用法和class的用法基本一致,但是不常用。
六、模板Vue.js使用基于HTML的模板語法,可以將DOM綁定到Vue實(shí)例中的數(shù)據(jù)。模板就是{{}},用來進(jìn)行數(shù)據(jù)綁定,顯示在頁面中,也稱為Mustache語法。
1、數(shù)據(jù)綁定的方式 (1)雙向數(shù)據(jù)綁定使用v-model指令,前面已經(jīng)學(xué)習(xí)過。
(2)單向數(shù)據(jù)綁定 a.使用兩對大括號{{}}這個在之前也經(jīng)常使用,但是有一個缺點(diǎn),就是vue實(shí)例需要長時間編譯時會在頁面中出現(xiàn){{}}(閃爍現(xiàn)象)。vue提供了一個解決辦法:使用v-cloak配合css。
//html內(nèi)容b.使用指令v-text、v-html{{msg}}//css內(nèi)容 [v-cloak] { display: none; }
v-text也可達(dá)到與使用v-cloak相同的效果。
//html內(nèi)容
v-html會將文本中的html解析為html標(biāo)簽,然后渲染到頁面中。
//html內(nèi)容//vue實(shí)例中data部分內(nèi)容 data: { msg: "hellovue.js" },
這里的vue.js會有一個黃色的背景顏色。
七、過濾器過濾器用來過濾模型數(shù)據(jù),在顯示之前進(jìn)行數(shù)據(jù)處理和篩選。語法:{{ data | filter1(參數(shù)) | filter2(參數(shù))}}。
vue1.0中內(nèi)置了很多過濾器,但是在2.0中全部刪除了。使用過濾器我們可以通過使用第三方庫:lodash、date-fns日期格式化、accounting.js貨幣格式化。或者我們可以自定義過濾器。
1、自定義過濾器過濾器分為全局過濾器和局部過濾器。
(1)全局過濾器使用全局方法Vue.filter(過濾器ID,過濾器函數(shù))。
示例:
{{8|addZero}}
//數(shù)據(jù)會自動作為傳過去 Vue.filter("addZero", data => { return data > 10 ? data : "0" + data; });
有時過濾器也要傳遞自己的參數(shù):
(2)局部過濾器{{12.3456|number(3)}}
Vue.filter("number", (data,n) => { return data.toFixed(n); });
局部過濾器的使用方法與全局過濾器的使用方法一致。
不過過濾器寫在vue實(shí)例中filters選項中。
new Vue({ el:"#app", data:{}, filters:{ number:data => { //具體操作 } } })
未完待續(xù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/115546.html
摘要:有興趣的同學(xué)可以查看之前發(fā)布的文章學(xué)習(xí)系列一學(xué)習(xí)實(shí)踐筆記附學(xué)習(xí)系列二學(xué)習(xí)實(shí)踐筆記附學(xué)習(xí)系列三和網(wǎng)絡(luò)傳輸相關(guān)知識的學(xué)習(xí)實(shí)踐學(xué)習(xí)系列四打包工具的使用學(xué)習(xí)系列五從來聊聊學(xué)習(xí)系列項目地址項目暫時有點(diǎn)亂,之后會進(jìn)行整理優(yōu)化。 上次學(xué)習(xí)了vue-router的使用,讓我能夠在各個頁面間切換,將頁面搭建了起來。這次則要學(xué)習(xí)vue的狀態(tài)管理模式——vuex。它類似于redux來應(yīng)用的全局狀態(tài)。 注:本...
摘要:一介紹也稱為,讀音類似,錯誤讀音,由華人尤雨溪開源并維護(hù)。隱藏四事件之前說了一些關(guān)于事件的指令,這里詳細(xì)學(xué)習(xí)一下事件的相關(guān)知識。還有一些其他鍵盤事件,具體參考官方文檔。模板就是,用來進(jìn)行數(shù)據(jù)綁定,顯示在頁面中,也稱為語法。 一、Vue.js介紹 Vue.js也稱為Vue,讀音類似view,錯誤讀音v-u-e,由華人尤雨溪開源并維護(hù)。 Vue有以下特點(diǎn): 是一個構(gòu)建用戶界面的框架 是一...
摘要:一介紹也稱為,讀音類似,錯誤讀音,由華人尤雨溪開源并維護(hù)。隱藏四事件之前說了一些關(guān)于事件的指令,這里詳細(xì)學(xué)習(xí)一下事件的相關(guān)知識。還有一些其他鍵盤事件,具體參考官方文檔。模板就是,用來進(jìn)行數(shù)據(jù)綁定,顯示在頁面中,也稱為語法。 一、Vue.js介紹 Vue.js也稱為Vue,讀音類似view,錯誤讀音v-u-e,由華人尤雨溪開源并維護(hù)。 Vue有以下特點(diǎn): 是一個構(gòu)建用戶界面的框架 是一...
摘要:當(dāng)組件給其他人使用時這很有用,因?yàn)檫@些驗(yàn)證要求構(gòu)成了組件的,確保其他人正確地使用組件。有特性的稱為命名。例如,假定我們有一個組件,它的模板為父組件模板渲染結(jié)果為 一、注冊 // 定義 var MyComponent = Vue.extend({ template: A custom component! }); // 注冊 Vue.component(my-component, ...
摘要:一縮寫完整語法縮寫完整語法縮寫二縮寫完整語法縮寫三過濾器四條件渲染五列表渲染數(shù)組變動檢測包裝了被觀察數(shù)組的變異方法,故它們能觸發(fā)視圖更新。 一、v-bind 縮寫 Button Button 二、v-on 縮寫 三、過濾器 {{ message | capitalize }} 四、條件渲染 v-if Yes No Sorry Not...
閱讀 2966·2021-10-20 13:46
閱讀 2518·2021-08-12 13:22
閱讀 2701·2019-08-30 15:54
閱讀 2342·2019-08-30 15:53
閱讀 547·2019-08-30 13:47
閱讀 3582·2019-08-23 16:56
閱讀 1728·2019-08-23 13:02
閱讀 1796·2019-08-23 12:25