最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VueJS全面解析

 更新時(shí)間:2016年11月10日 08:58:11   作者:玉米_欣  
Vue.js(讀音 /vjuː/, 類(lèi)似于 view) 是一套構(gòu)建用戶(hù)界面的漸進(jìn)式框架。與其他重量級(jí)框架不同的是,Vue 采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)。這篇文章主要介紹了VueJS全面解析的相關(guān)資料,需要的朋友可以參考下

Vue.js是什么

Vue.js(讀音 /vjuː/, 類(lèi)似于 view) 是一套構(gòu)建用戶(hù)界面的 漸進(jìn)式框架。與其他重量級(jí)框架不同的是,Vue 采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)。Vue 的核心庫(kù)只關(guān)注視圖層,并且非常容易學(xué)習(xí),非常容易與其它庫(kù)或已有項(xiàng)目整合。另一方面,Vue 完全有能力驅(qū)動(dòng)采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫(kù)開(kāi)發(fā)的復(fù)雜單頁(yè)應(yīng)用。

Vue.js 的目標(biāo)是通過(guò)盡可能簡(jiǎn)單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。

如果你是有經(jīng)驗(yàn)的前端開(kāi)發(fā)者,想知道 Vue.js 與其它庫(kù)/框架的區(qū)別,查看對(duì)比其它框架。

1.VueJS 目的:

VueJs的產(chǎn)生核心是為了解決:

a: 解決數(shù)據(jù)綁定的問(wèn)題,

b: vue框架產(chǎn)生的主要目的是為了開(kāi)發(fā)大型單頁(yè)面應(yīng)用,

c: 它還支持組件化,也就是可以將頁(yè)面封裝成若干個(gè)組件,采用積木式進(jìn)行編程,這樣使頁(yè)面復(fù)用性達(dá)到最高(支持組件化)。

2.VueJS 特性:

I: MVVM模式(數(shù)據(jù)變量(model)發(fā)生改變 視圖(view)也改變, 視圖(view)改變,數(shù)據(jù)變量(model)也發(fā)生改變)

使用MVVM模式有幾大好處:

  1. 低耦合。View可以獨(dú)立于Model變化和修改,一個(gè)ViewModel可以綁定到不同的View上,當(dāng)View變化的時(shí)候Model可以不變,當(dāng)Model變化的時(shí)候View也可以不變。

  2. 可重用性。可以把一些視圖的邏輯放在ViewModel里面,讓很多View重用這段視圖邏輯。

  3. 獨(dú)立開(kāi)發(fā)。開(kāi)發(fā)人員可以專(zhuān)注與業(yè)務(wù)邏輯和數(shù)據(jù)的開(kāi)發(fā)(ViewModel)。設(shè)計(jì)人員可以專(zhuān)注于界面(View)的設(shè)計(jì)。

  4. 可測(cè)試性。可以針對(duì)ViewModel來(lái)對(duì)界面(View)進(jìn)行測(cè)試

II: 組件化

III 指令系統(tǒng)

IIII: vue2.0開(kāi)始支持虛擬dom

vue1.0是操作的是真的dom元素而不是虛擬的

虛擬dom:可以提升頁(yè)面的刷新速度

虛擬DOM有利也有弊。

A:大小 - 其中之一就是更多的功能意味著代碼包中更多行的代碼。幸運(yùn)的是,Vue.js 2.0 依舊比 較?。ó?dāng)前版本 21.4kb),并

且也正在刪除很多東西。

B: 內(nèi)存 -同樣,虛擬DOM需要將現(xiàn)有的DOM拷貝后保存在內(nèi)存中,這是一個(gè)在DOM更新速度和內(nèi)存使用中的權(quán)衡。

C: 并不適用所有情況 -如果虛擬DOM可以一次性進(jìn)行批量的修改是非常好的。但是如果是單獨(dú)的、稀少的更新呢?這樣的任何

DOM更新都將會(huì)使虛擬DOM帶來(lái)無(wú)意義的預(yù)計(jì)算。

V: 通過(guò)變量模型

VueJS表達(dá)式:

步驟:

1引用

<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>

2.聲明一段HTML被框架管理

<div id="myapp"> 
<ul> 
<li></li> 
<li></li> 
<li></li> 
</ul> 
</div>

3.初始化vue 填寫(xiě)vue參數(shù)

I.屬性:el 聲明vuejs管理的邊界 拓展:ng-app 類(lèi)似(這個(gè)是 AngularJS中的)

II.屬性:data 數(shù)據(jù)(狀態(tài) || 屬性),專(zhuān)門(mén)存儲(chǔ)一些數(shù)據(jù)的屬性,數(shù)據(jù)一定是對(duì)象格式

<script type="text/javascript"> 
var vm = new Vue({ 
el:"#myapp", 
data:{hello:"hello word vue app!", 
message:"wyx", 
result:{name:'xinxin',password:'123'} 
} 
}); 
</script>

4.表達(dá)式:通過(guò){{}}形式將我們data里面數(shù)據(jù)顯示在頁(yè)面中,

比如:

data:{{message:'xxxxx'}}

view中:{{message}}

<div id="myapp"> 
<ul> 
<li>{{hello}}</li> 
<li>{{message}}</li> 
<li>{{result.name}}</li> 
</ul> 
</div>

view中:{{message}} 代碼中綁定key 而在頁(yè)面中顯示的是value

data 核心作用是 存放顯示在頁(yè)面中的數(shù)據(jù)(model)(對(duì)獲取的model與頁(yè)面上要顯示的內(nèi)容產(chǎn)生了一種映射關(guān)系),就是說(shuō),如果我們實(shí)現(xiàn)前后端交互只要將得到的數(shù)據(jù)存放在data中,頁(yè)面就會(huì)自動(dòng)綁定,這樣就實(shí)現(xiàn)了從 model------> view 的數(shù)據(jù)流向。

3.VueJS 指令:

指令:其實(shí)指的就是vue定義了以v-開(kāi)頭的自定義屬性,每個(gè)不同的屬性都有各自的意義和功能,

指令的用法:v-指令名稱(chēng)=“表達(dá)式判斷或者是model屬性或者是事件”

v-model :

作用:接收用戶(hù)輸入的一些數(shù)據(jù),直接就可以將這些數(shù)據(jù) 掛載到data屬性里面

語(yǔ)法:v-model ="屬性值" {屬性值:文本值}

在data中的處理:最好在data中也定義這個(gè)這個(gè)屬性值,不然開(kāi)始時(shí)會(huì)報(bào)錯(cuò)

v-if:

作用:通過(guò)判斷加載固定的內(nèi)容,若為真 加載,為假時(shí)刪除元素

用在什么地方:用在權(quán)限管理,頁(yè)面模塊條件加載

語(yǔ)法:v-if=" 判斷表達(dá)式 " 使用方式和if一樣的

特點(diǎn):控制元素插進(jìn)來(lái)或者刪除并不是隱藏

v-show:

元素會(huì)始終渲染并保持在dom中,并且安全性沒(méi)有v-if高,因?yàn)関-show 用法和v-if相同,只是v-show將元素display設(shè)置成none,并不是將元素直接移除。

v-ifVS. v-show

一般來(lái)說(shuō),v-if有更高的切換消耗而
v-show有更高的初始渲染消耗。因此,如果需要頻繁切換使用 v-show較好,如果在運(yùn)行時(shí)條件不大可能改變則使用v-if較好。

v-else

元素必須緊跟在v-if或v-show元素的后面——否則它不能被識(shí)別。

v-bind:

縮寫(xiě)::

{{}}表達(dá)式綁定數(shù)據(jù)的時(shí)候,可以直接將數(shù)據(jù)顯示在頁(yè)面中(html)里面,

v-bind img src 屬性,

作用:v-bind 給頁(yè)面中html屬性進(jìn)行綁定

語(yǔ)法:v-bind:圖片里面src屬性=“data 中的圖片地址”

如:

<img 
v-bind:src="img" />
<div v-bind:style="styles">style</div>
data:{ 
img:"img/logo.png",
styles:{color:'red',fontSize:'30px'}
}

縮寫(xiě)形式:

<img :src="img" />
<div :style="styles">style</div>

v-bind添加的style樣式是添加在內(nèi)聯(lián)中的。

v-on:

縮寫(xiě)形式:v-on:click ---- >@click

@+事件

作用:對(duì)頁(yè)面中的事件進(jìn)行綁定 vue自定義了一套事件機(jī)制

angularjs中對(duì)pc端支持比較良好,對(duì)移動(dòng)端支持一般,vue主要支持移動(dòng)端,也支持pc端

事件開(kāi)發(fā)中,事件 v-on: 綁定在頁(yè)面(view)中,再vue實(shí)例里面,在methods中去監(jiān)聽(tīng)

在頁(yè)面中 我們做的行為: v-on:click="函數(shù)名稱(chēng)"

函數(shù)應(yīng)該寫(xiě)在vue實(shí)例的methods屬性里面

methods也要寫(xiě)成對(duì)象:

methods:{
clickBtn:function(){
}
}

例:<button v-on:click="clickBtn()">點(diǎn)擊</button>

methods:{ 
clickBtn:function(){ 
alert('觸發(fā)了button綁定的事件'); 
} 
}

在事件中傳遞值,事件中通過(guò)$event傳遞事件列表,在methods里面就可以直接獲取事件列表里面的值

當(dāng)一個(gè)行為所觸發(fā)了一個(gè)事件,發(fā)生事件交互的時(shí)候所產(chǎn)生的一種結(jié)果(出現(xiàn)一個(gè)事件列表)

vue中的事件列表$event

事件列表:

補(bǔ)充:事件修飾符

通過(guò)由點(diǎn)(.)表示的指令后綴來(lái)調(diào)用修飾符。

.stop

.prevent

.capture

.self

<!-- 阻止單擊事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重載頁(yè)面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修飾符可以串聯(lián) -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修飾符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件偵聽(tīng)器時(shí)使用事件捕獲模式 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只當(dāng)事件在該元素本身(而不是子元素)觸發(fā)時(shí)觸發(fā)回調(diào) -->
<div v-on:click.self="doThat">...</div>

v-for :

作用:控制html元素的循環(huán),實(shí)現(xiàn)數(shù)據(jù)列表的生成

用法:

view: v-for="item in 集合"

item:每個(gè)集合的子項(xiàng)

集合:被遍歷的集合

寫(xiě)在誰(shuí)上誰(shuí)循環(huán)

model:添加上將來(lái)要被循環(huán)遍歷并在頁(yè)面輸出數(shù)組對(duì)象

實(shí)例:

考慮:

1.vue核心綁定數(shù)據(jù),在開(kāi)發(fā)過(guò)程中,只要將數(shù)據(jù)綁定好,剩下只要去關(guān)注實(shí)現(xiàn)業(yè)務(wù)

2.開(kāi)發(fā)的時(shí)候,如何進(jìn)行數(shù)據(jù)綁定:

(1) 基于前后端交互協(xié)議

(2) mock數(shù)據(jù)進(jìn)行測(cè)試-----實(shí)現(xiàn)綁定

3.初始化vm (初始化時(shí)定義一會(huì)解析數(shù)據(jù)后,可以存放數(shù)據(jù)的變量,將其寫(xiě)在data中,給個(gè)' '值)

4.請(qǐng)求得到數(shù)據(jù)

5.獲取值放進(jìn)data里面

6.在view中找到相應(yīng)位置遍歷(v-for寫(xiě)在誰(shuí)上面誰(shuí)遍歷,寫(xiě)在div上表示有幾條數(shù)據(jù),顯示幾個(gè)div)()

7.搜索功能

思路:

a:事件在什么時(shí)候發(fā)生-------------發(fā)生在button按鈕上

b:通過(guò)事件獲取文本框中輸入的值 (v-model記錄輸入值)

c: 發(fā)送請(qǐng)求得到結(jié)果

d:將得到的數(shù)據(jù) 強(qiáng)制賦值到result里面, view 自動(dòng)更新

總結(jié):

1.表達(dá)式 {{}}

2.指令 v-model v-if v-else v-show v-on v-bind v-for

3.分享網(wǎng)址:http://cn.vuejs.org/v2/guide/

以上內(nèi)容是對(duì)vuejs的全面解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue實(shí)現(xiàn)簡(jiǎn)單的MVVM框架

    vue實(shí)現(xiàn)簡(jiǎn)單的MVVM框架

    這篇文章給大家分享了基于vue實(shí)現(xiàn)一個(gè)簡(jiǎn)單的MVVM框架的相關(guān)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2018-08-08
  • 解決vant中 tab欄遇到的坑 van-tabs

    解決vant中 tab欄遇到的坑 van-tabs

    這篇文章主要介紹了解決vant中 tab欄遇到的坑 van-tabs,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Vue實(shí)現(xiàn)戶(hù)籍管理系統(tǒng)戶(hù)籍信息的添加與刪除方式

    Vue實(shí)現(xiàn)戶(hù)籍管理系統(tǒng)戶(hù)籍信息的添加與刪除方式

    這篇文章主要介紹了Vue實(shí)現(xiàn)戶(hù)籍管理系統(tǒng)戶(hù)籍信息的添加與刪除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue標(biāo)尺插件使用詳解

    Vue標(biāo)尺插件使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue標(biāo)尺插件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • vue實(shí)現(xiàn)懸浮球效果

    vue實(shí)現(xiàn)懸浮球效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)懸浮球效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 深入淺析Vue中的 computed 和 watch

    深入淺析Vue中的 computed 和 watch

    computed 計(jì)算屬性是通過(guò)屬性計(jì)算得來(lái)的屬性,watch屬性變化,就會(huì)觸發(fā)監(jiān)聽(tīng)的函數(shù)。下面通過(guò)本文給大家介紹Vue中的 computed 和 watch,感興趣的朋友一起看看吧
    2018-06-06
  • 基于Vue實(shí)現(xiàn)消息提示功能

    基于Vue實(shí)現(xiàn)消息提示功能

    這篇文章主要為大家詳細(xì)介紹了如何基于Vue實(shí)現(xiàn)簡(jiǎn)單的消息提示功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • vue實(shí)現(xiàn)表單錄入小案例

    vue實(shí)現(xiàn)表單錄入小案例

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單錄入小案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Vue3(ts)使用vee-validate表單校驗(yàn),自定義全局驗(yàn)證規(guī)則說(shuō)明

    Vue3(ts)使用vee-validate表單校驗(yàn),自定義全局驗(yàn)證規(guī)則說(shuō)明

    這篇文章主要介紹了Vue3(ts)使用vee-validate表單校驗(yàn),自定義全局驗(yàn)證規(guī)則說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue3 + vite + ts 中使用less文件全局變量的操作方法

    vue3 + vite + ts 中使用less文件全局變量的操作方法

    這篇文章主要介紹了vue3 + vite + ts 中使用less文件全局變量的操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03

最新評(píng)論

察隅县| 皮山县| 凌海市| 安阳县| 乾安县| 三亚市| 宝鸡市| 贡山| 汉川市| 青海省| 淳安县| 上思县| 沙坪坝区| 宣武区| 西和县| 天全县| 桓台县| 秀山| 文化| 鄂州市| 莱州市| 乳源| 合江县| 偃师市| 墨玉县| 大邑县| 出国| 微山县| 灵寿县| 中江县| 游戏| 随州市| 盈江县| 突泉县| 禹州市| 苍梧县| 宜君县| 基隆市| 宁化县| 正阳县| 洛宁县|