數(shù)據(jù)綁定+指令+事件

一、Vuejs 模式

MVVM 模式:視圖層和數(shù)據(jù)層的雙向綁定,不用關(guān)心DOM 操作的事,更多精力放在數(shù)據(jù)和業(yè)務(wù)邏輯上

二、Vuejs 環(huán)境搭建

1? 通過(guò)script 標(biāo)簽,引入vuejs

2、vue 腳手架工具 vue-cli 搭建【基于nodejs npm 搭建的

三、Vue實(shí)例和數(shù)據(jù)綁定

通過(guò)構(gòu)造函數(shù) Vue 就可以創(chuàng)建一個(gè) Vue 的根實(shí)例,并啟動(dòng) Vue 應(yīng)用—入口

var app =new Vue({
   //element,用于指定頁(yè)面中已存在的DOM元素,掛載到DOM中,也可以是css,是必不可少的選項(xiàng)
    el:'#app', 
    
    data:{ //可以聲明應(yīng)用內(nèi)需要雙向綁定的數(shù)據(jù),也可以指向一個(gè)已經(jīng)有的變量
        msg:'開(kāi)始學(xué)習(xí)vue'
    }
})

掛載成功后,訪(fǎng)問(wèn)屬性

1?訪(fǎng)問(wèn)vue實(shí)例的屬性

app.$el  // 訪(fǎng)問(wèn)vue實(shí)例的屬性,都是以 $ 開(kāi)頭

2?訪(fǎng)問(wèn)data中的屬性

app.msg //直接app.屬性名

四、生命周期鉤子

1?created (還未掛載):實(shí)例創(chuàng)建完成后調(diào)用,此階段完成了數(shù)據(jù)的觀測(cè)等,但尚未掛載, $el 還不可用。需要初始化處理一些數(shù)據(jù)時(shí)會(huì)比較有用,

2?mounted el (剛剛掛載):掛載到實(shí)例上后調(diào)用,一般我們的第一個(gè)業(yè)務(wù)邏輯會(huì)在這里開(kāi)始,也就是初始化要執(zhí)行的業(yè)務(wù)邏輯代碼,相當(dāng)于 $(document).ready()

3?beforeDestroy 實(shí)例銷(xiāo)毀之前調(diào)用。主要解綁一些使用 addEventListener 監(jiān)聽(tīng)的事件等

看個(gè)實(shí)例

image.png

五、文本插值和表達(dá)式

1? 語(yǔ)法

使用雙大括號(hào) “{{}}“ ,會(huì)自動(dòng)將我們雙向綁定的數(shù)據(jù)實(shí)時(shí)顯示

2? 用法

在 {{ }} 中,除了簡(jiǎn)單的綁定屬性值外,也可以是 JavaScript 表達(dá)式進(jìn)行簡(jiǎn)單的運(yùn)算三元運(yùn)算

特別注意:Vue .js 只支持單個(gè)表達(dá)式,不支持語(yǔ)句和流控制

3?實(shí)例

{{ 6+6 *3}} // 支持 簡(jiǎn)單的運(yùn)算 
{{ 6<3 ? msg :a}}  // 支持 三元運(yùn)算符 

{{if(6>3){}} // 不支持 書(shū)寫(xiě)表達(dá)式
{{var a = 6}} // 不支持 多行表達(dá)式 var a=6 相當(dāng)于 var a;a = 6;
{{ var book = ’ Vue . js 實(shí)戰(zhàn) ’}} // 不支持 語(yǔ)句
{{ if (ok) return msg }} // 不支持 流控制

六、過(guò)濾器

1? 作用

格式化文本【字母全大寫(xiě)、貨幣千位使用逗號(hào)分隔符】

2?用法

在 {{}} 插值的尾部添加一小管道符 “ | ” 對(duì)數(shù)據(jù)進(jìn)行過(guò)濾

{{date | formatDate}} // | 后面接的是 過(guò)濾器的名字

{{date | filter1 | filter2 }} // 過(guò)濾器的串聯(lián)

{{date | formatDate('arg1', 'arg2')}} //過(guò)濾器的參數(shù)

3?規(guī)則

自定義的, 通過(guò)給 Vue 實(shí)例添加選項(xiàng) filters 來(lái)設(shè)置

**注:{{date | formatDate(66,99)}} 中的第1個(gè)和第2個(gè)參數(shù),分別對(duì)應(yīng)script 標(biāo)簽內(nèi) 過(guò)濾器 formatDate 的第2個(gè) a 和 第3個(gè)參數(shù) b **,而 script 標(biāo)簽內(nèi)的過(guò)濾器 formatDate 第一個(gè)參數(shù)是 date

image.png

七、指令

1? 定義

帶有前綴 v- ,能幫我們快速完成 DOM 操作,循環(huán)渲染,顯示和隱藏

2? 部分指令

A、v-text :解析文本 等同于 {{ }} 文本插值

<span v-text="apple"></span> === {{apple}} //true

B、v-html :解析html

C、v-bind :動(dòng)態(tài)更新html 元素上的 屬性,如id,class等

D、v-on : 綁定事件監(jiān)聽(tīng)器

v-on 用法:

1?在普通元素上,可以監(jiān)聽(tīng)原生的 DOM 事件( click、dblclick、 keyup, mousemove 等)

2?表達(dá)式可以是一個(gè)方法名,這些方法都寫(xiě)在 Vue 實(shí)例的 methods 屬性?xún)?nèi),并且是函數(shù)的形式,

3?函數(shù)內(nèi)的 this 指向的是當(dāng)前 Vue 實(shí)例本身,因此可以直接使用 this.xxx 的形式來(lái)訪(fǎng)問(wèn)或修改數(shù)據(jù)

注:vue中用 到的所有方法都定義在methods中

八、語(yǔ)法糖

在不影響功能的情況下,用簡(jiǎn)潔的方法實(shí)現(xiàn)同樣的效果,從而更方便程序開(kāi)發(fā)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容