本篇內(nèi)容主要講解“Vue.js基礎(chǔ)知識(shí)有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Vue.js基礎(chǔ)知識(shí)有哪些”吧!
創(chuàng)新互聯(lián)從2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元汶上做網(wǎng)站,已為上家服務(wù),為汶上各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
一、遇見(jiàn)Vue.js
1.MVP,從MVC演化而來(lái),Controller/Presenter負(fù)責(zé)邏輯的處理,完全把View和Model進(jìn)行了分享,主要的程序邏輯在Presenter里實(shí)現(xiàn),與具體的View是沒(méi)有直接關(guān)聯(lián)的,而是通過(guò)定義好的接口進(jìn)行交互,從而使得在變更View的時(shí)候可以保持Presenter不變
2.MVVM,只是把MVC的Controller和MVP的Presenter改成了ViewModel,View的變化會(huì)自動(dòng)更新到ViewModel,ViewModel的變化也會(huì)自動(dòng)同步到View上顯示
二、數(shù)據(jù)綁定
三、指令
1.指令(Directive)是特殊的帶有前綴v-的特性,指令的值限定為綁定表達(dá)式,指令的職責(zé)就是當(dāng)其表達(dá)式的值改變時(shí)把某些特殊的行為應(yīng)用到DOM上
2.v-if有更高的切換消耗,而v-show有更高的初始渲染消耗。因此,如果需要頻繁地切換,使用v-show較好;如果在運(yùn)行時(shí)條件不大可能改變,則用v-if較好
3.v-model指令參數(shù):number,將用戶的輸入自動(dòng)轉(zhuǎn)換為Number類(lèi)型;lazy,將數(shù)據(jù)改到在change事件中發(fā)生;debounce,設(shè)置一個(gè)最小延遲,在每次敲擊之后延時(shí)同步輸入框的值與數(shù)據(jù)
4.應(yīng)該盡量避免直接設(shè)置數(shù)據(jù)綁定的數(shù)組元素,因?yàn)檫@些變化 不會(huì)被Vue.js檢測(cè)到,因而也不會(huì)更新視圖渲染
5.使用v-for,將得到一個(gè)特殊的作用域,類(lèi)似于AngularJS的隔離作用域,需要明確指定props屬性傳遞數(shù)據(jù),否則在組件 內(nèi)將獲取不到數(shù)據(jù)
四、計(jì)算屬性
計(jì)算屬性就是當(dāng)其依賴(lài)屬性的值發(fā)生變化 時(shí),這個(gè)屬性的值會(huì)自動(dòng)更新,與之相關(guān)的DOM部分也會(huì)同步自動(dòng)更新
五、表單控件綁定
1.多個(gè)復(fù)選框放入一個(gè)數(shù)組中
2.當(dāng)被選中的option有value屬性時(shí),vm.selected為對(duì)應(yīng)option的value值;否則為對(duì)應(yīng)option的text值
六、過(guò)濾器
1.過(guò)濾器,本質(zhì)上都是函數(shù),作用在于用戶輸入數(shù)據(jù)后,它能夠進(jìn)行處理,并返回一個(gè)數(shù)據(jù)結(jié)果;過(guò)濾器函數(shù)將始終以表達(dá) 式的值作為第一個(gè)參數(shù),帶引號(hào)的參數(shù)會(huì)被當(dāng)作字符串處理,而不帶引號(hào)的參數(shù)會(huì)被當(dāng)作 數(shù)據(jù)屬性名來(lái)處理
2.內(nèi)置過(guò)濾器:
字母操作:capitalize、uppercase、lowercase
json過(guò)濾器:son
限制:limitBy、filterBy、orderBy處理并返回過(guò)濾后的數(shù)組
currency過(guò)濾器:將數(shù)字值轉(zhuǎn)換為貨幣形式輸出
debounce過(guò)濾器:延遲處理器一定的時(shí)間執(zhí)行
七、Class與Style綁定
1.可以傳給v-bind:class一個(gè)對(duì)象,以動(dòng)態(tài)地切換class,v-bind:class指令可以與普通的class特性共存
2.v-bind:style綁定內(nèi)聯(lián)css
八、過(guò)濾
1.transition特性可以與這些資源一起搭配使用:v-if、v-show、v-for、動(dòng)態(tài)組件
2.內(nèi)置Class類(lèi)名:.xxx-transition、.xxx-enter、.xxx-leave
3.只使用js鉤子時(shí),為js過(guò)渡顯式聲明css:false,Vue.js將跳過(guò)CSS檢測(cè),這樣也會(huì)防止css規(guī)則對(duì)過(guò)渡的干擾
九、Method
1.所有的Vue.js事件處理方法和表達(dá)式都嚴(yán)格綁定在當(dāng)前視圖的ViewModel上
2.需要注意:
methods中定義的方法內(nèi)的this始終指向創(chuàng)建的Vue實(shí)例
與事件綁定的方法支持參數(shù)event即原生DOM事件的傳入
方法在普通元素上時(shí),只能監(jiān)聽(tīng)原生DOM事件;用在自定義元素組件上時(shí),也可以監(jiān)聽(tīng)子組件觸發(fā)的自定義事件
3.四個(gè)事件修飾符:.prevent、.stop、.capture、.self
十、Vue實(shí)例方法
1.組件樹(shù)訪問(wèn):$parent、$root、$children、$refs
2.DOM訪問(wèn):$el、$els
3.數(shù)據(jù)訪問(wèn):$data、$options
4.實(shí)例方法:$appendTo()、$before()、$after()、$remove()、$nextTick()
5.實(shí)例event方法:$on()、$once()、$emit()、$dispatch()、$broadcast()、$off()
十一、組件
1.Vue.js的組件可以理解為預(yù)先定義好行為的ViewModel類(lèi),一個(gè)組件可以預(yù)定義很多選項(xiàng),但最核心的:
模板(template)、初始數(shù)據(jù)(data)、接受的外部參數(shù)(props)、方法(methods)、生命周期鉤子函數(shù)(lifecycle hooks)
2.props是組件數(shù)據(jù)的一個(gè)字段,期望從父組件傳下來(lái)數(shù)據(jù),組件的作用域是孤立的,意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù),所以子組件需要顯式地用props選項(xiàng)來(lái)獲取父組件的數(shù)據(jù)
3.組件通信:this.$parent、this.$children、this.$root,不過(guò)子組件應(yīng)當(dāng)避免直接依賴(lài)父組件的數(shù)據(jù),盡量顯式地使用props傳遞數(shù)據(jù),在子組件中修改父組件的狀態(tài)是非常糟糕的做法,會(huì)導(dǎo)致父子緊密地耦合,很難理解父組件的狀態(tài)
4.solt作為原始內(nèi)容的插槽,父組件的內(nèi)容將被拋棄,除非子組件模板包含<slot>,標(biāo)簽的內(nèi)容視為回退內(nèi)容,回退內(nèi)容在子組件的作用域內(nèi)編譯,當(dāng)宿主元素為空并且沒(méi)有內(nèi)容插入時(shí)顯示這個(gè)回退內(nèi)容
5.混合以一種靈活的方式為組件提供分布利用的功能,混合對(duì)象可以包含做任意的組件選項(xiàng),當(dāng)組件使用了混合對(duì)象時(shí),混合對(duì)象的所有選項(xiàng)將被“混入”組件自己的選項(xiàng)中
6.生命周期:init、created、beforeCompile、compiled、ready、attached、detached、beforeDestory、destroyed
十二、表單校驗(yàn)
1.vue-validator
2.v-validate指令語(yǔ)法:v-validate[:field]=“array literal | object literal | binding”
3.內(nèi)置驗(yàn)證規(guī)則:required、pattern、minlength、maxlength、min、max
4.v-validate所在元素,可以監(jiān)聽(tīng)的事件:valid、invalid、touched、dirty、modified
十三、與服務(wù)端通信
1.vue-resource
2.vue-async-data,是一個(gè)異步加載數(shù)據(jù)狀態(tài)指示的插件,本身并不支持異步獲取服務(wù)端數(shù)據(jù)的功能,僅僅指示數(shù)據(jù)目前是處于加載 狀態(tài)還是已經(jīng)加載完畢
十四、路由與視圖
1.vue-router
2.vue-router鉤子函數(shù):canReuse、canActivate、activate、data、canDeactivate、deactivate
十五、vue-cli
1.快速生成一個(gè)基于Webpack構(gòu)建的項(xiàng)目:vue init webpack my-project
2.支持的命令:vue init <template-name><project-name>;vue list;
十六、測(cè)試開(kāi)發(fā)與調(diào)試
1.ESLint
2.工具包:eslint-loader、eslint-friendly-formatter、eslint-config-standard、eslint-plugin-html
3.開(kāi)發(fā)工具:Vue Syntax Highlight、Snippets(sublime)、VUe.js(WebStorm)、Vue(Visual Studio Code)
4.調(diào)試工具:Chrome——Vue.js devtools
十七、Scrat+Vue.js的化學(xué)反應(yīng)
1.前端工程化:開(kāi)發(fā)規(guī)范、模塊化、組件化、組件庫(kù)、性能優(yōu)化、項(xiàng)目部署、開(kāi)發(fā)流程、工程工具
2.Scrat是UC團(tuán)隊(duì)在百度的FIS基礎(chǔ)上二次開(kāi)發(fā)的webapp模塊化開(kāi)發(fā)框架,最大的特色是模塊化開(kāi)發(fā)和模塊生態(tài),理念是像搭積木一樣開(kāi)發(fā)和維護(hù)系統(tǒng),通過(guò)組裝模塊得到一個(gè)完整的系統(tǒng)
十八、Vue.js2.0
1.Virtual DOM:通過(guò)JS對(duì)象表示的樹(shù)結(jié)構(gòu)來(lái)構(gòu)建一棵真正的DOM樹(shù),當(dāng)數(shù)據(jù)狀態(tài)發(fā)生變化時(shí)可以直接修改這個(gè)JS對(duì)象,接著對(duì)比修改后的JS對(duì)象,記錄下需要對(duì)頁(yè)面做的DOM操作,然后將其應(yīng)用到真正的DOM樹(shù),實(shí)現(xiàn)視圖的更新,這個(gè)過(guò)程就是Virtual DOM的核心思想
2.服務(wù)端渲染優(yōu)勢(shì):首屏渲染速度更快、SEO、減少HTTP請(qǐng)求
十九、源碼篇——util
1.env:
系統(tǒng)判斷:inBrowser、isIE9、isAndroid、isIos、isWechat
屬性支持:hasProto
過(guò)濾屬性:transitionPrep、transitionEndEvent、animationProp、animationEndEvent
2.dom:
dom操作:query、inDoc、before、after、prepend、extractContent、remove、replace、trimNode、isTemplate、isFragment、getOuterHTML
屬性操作:getAttr、getBindAttr、hasBindAttr
class操作:setClass、addClass、removeClass
事件操作:on、off
其他:cateAnchor、findRef、mapNodeRange、removeNodeRange
3.lang:
對(duì)象操作:set、del、hasOwn、extend、isObject、isPlainObject、def
名稱(chēng)轉(zhuǎn)換:classify、hyphenate、camelize
數(shù)組操作:indexOf
類(lèi)型轉(zhuǎn)換:_toString、toNumber、toBoolean、toArray
方法綁定:bind
其他:debounce、stripQuotes、cancellable、looseEqual、isLiteral、isReserved
4.components:commonTagRe、reservedTagRe、checkComponentAttr
5.options:mergeOptions、resolveAsset
6.debug:warn
到此,相信大家對(duì)“Vue.js基礎(chǔ)知識(shí)有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞名稱(chēng):Vue.js基礎(chǔ)知識(shí)有哪些
文章URL:http://chinadenli.net/article28/jsidjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)建站、標(biāo)簽優(yōu)化、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)