摘要:之對基礎(chǔ)理解構(gòu)造器是一個(gè)構(gòu)造函數(shù),編程中稱之為構(gòu)造器每一個(gè)都是一個(gè)構(gòu)造函數(shù)的實(shí)例,這個(gè)過程叫做實(shí)例化構(gòu)造函數(shù)需要將其實(shí)例化后才會(huì)啟用構(gòu)造器要求實(shí)例化時(shí)需要傳入一個(gè)選項(xiàng)對象組件其實(shí)都是被擴(kuò)展的實(shí)例。
vue.js 之 對vue.js基礎(chǔ)理解
Vue構(gòu)造器
1 . Vue.js是一個(gè)構(gòu)造函數(shù),編程中稱之為構(gòu)造器
2 . 每一個(gè)new Vue() 都是一個(gè)Vue構(gòu)造函數(shù)的實(shí)例,這個(gè)過程叫做實(shí)例化
3 . 構(gòu)造函數(shù)需要將其實(shí)例化后才會(huì)啟用 var vm = new Vue({ //...})
4 . Vue構(gòu)造器要求實(shí)例化時(shí)需要傳入一個(gè)選項(xiàng)對象
{{msg}}
1){{msg}}會(huì)在視圖中顯示
2){{msg}}在實(shí)例化后仍然保持?jǐn)?shù)據(jù)響應(yīng)
3){{msg}}盡管在console.log(data)中存在,但視圖卻找不到,且會(huì)報(bào)錯(cuò)
4)因此請不要試圖在實(shí)例化后添加任何屬性
實(shí)例屬性 方法以及生命周期
1 . data會(huì)代理其對象里的所有屬性.
2 . 只有data里的屬性是響應(yīng)式的,即通信是雙向的.
3 . Vue被實(shí)例化后,再創(chuàng)建的屬性,將不會(huì)觸發(fā)視圖更新.
4 . 在文檔中經(jīng)常會(huì)使用 vm 這個(gè)變量名表示 Vue 實(shí)例,在實(shí)例化 Vue時(shí),需要傳入一個(gè)選項(xiàng)對象,它可以包含數(shù)據(jù)(data)、模板(template)、掛載元素(el)、方法(methods)、生命周期鉤子(lifecyclehook)等選項(xiàng)。
var data = { a : 1 } var vm = new Vue({ data : data }) vm.a === data.a // -> true // 設(shè)置屬性也會(huì)影響到原始數(shù)據(jù) vm.a = 2 data.a // -> 2 // ... 反之亦然 data.a = 3 vm.a // -> 3
var data = { a : 1 } var vm = new Vue({ el : "#example" , data : data }) vm.$data === data // -> true vm.$el === document .getElementById( "example" ) // -> true // $watch 是一個(gè)實(shí)例方法 vm.$watch( "a" , function ( newVal, oldVal ) { // 這個(gè)回調(diào)將在`vm.a` 改變后調(diào)用 })實(shí)例生命周期 Vue 實(shí)例有一個(gè)完整的生命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom→渲染、更新→渲染、卸載等一系列過程,我們稱這是 Vue 的生命周期。通俗說就是 Vue 實(shí)例從創(chuàng)建到銷毀的過程,就是生命周期。 在Vue的整個(gè)生命周期中,它提供了一些生命周期鉤子,給了我們執(zhí)行自定義邏輯的機(jī)會(huì)。
created(創(chuàng)建后)mounted(載入后)updated(更新后)d(銷毀后) estroyed(銷毀后)模板語法插值 Vue.js 使用了基于 HTML 的模版語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實(shí)例的數(shù)據(jù)。在底層的實(shí)現(xiàn)上, Vue 將模板編譯成虛擬 DOM 渲染函數(shù)。結(jié)合響應(yīng)系統(tǒng),在應(yīng)用狀態(tài)改變時(shí), Vue 能夠智能地計(jì)算出重新渲染組件的最小代價(jià)并應(yīng)用到 DOM 操作上。 插值 文本
HTML{{message}}
還可以插入HTML使用指令v-html Mustache{{}} 不能在 HTML 屬性中使用,應(yīng)使用 v-bind 指令
這里的數(shù)據(jù)只會(huì)執(zhí)行一次更新:{{me ssage}}
自定義html
var app2 = new Vue({ el:"#app-2", data:{ message:"第一次更新", rawHtml:"指令" } }) app2.message = "第二次更新沒有賦值";
- 這里是自定義html
- 這里是自定義html
v-if、v-on、v-bind 指令(Directives)是帶有 v- 前綴的特殊屬性。指令屬性的值預(yù)期是單一 JavaScript 表達(dá)式(除了 v-for,之后再討論)。指令的職責(zé)就是當(dāng)其表達(dá)式的值改變時(shí)相應(yīng)地將某些行為應(yīng)用到 DOM 上。過濾器 是通過后面的函數(shù)對前面這個(gè)值做一個(gè)變化,得出需要的內(nèi)容 Vue.js 允許你自定義過濾器,被用作一些常見的文本格式化。過濾器應(yīng)該被添加在 mustache 插值的尾部,由“管道符”指示: 過濾器可以串聯(lián) 而且還可以接收參數(shù)
{{ message | capitalize }}
new Vue({ // 將message的值首字母變?yōu)榇髮?,其它不? filters: { capitalize: function (value) { if (!value) return "" value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) } } })縮寫 v-bind 縮寫 Vue.js 為兩個(gè)最為常用的指令提供了特別的縮寫:
v-on 縮寫
計(jì)算屬性 模板內(nèi)的表達(dá)式是非常便利的,但是它們實(shí)際上只用于簡單的運(yùn)算。在模板中放入太多的邏輯會(huì)讓模板過重且難以維護(hù)。例如: 計(jì)算屬性 vs watched 當(dāng)你有一些數(shù)據(jù)需要隨著其它數(shù)據(jù)變動(dòng)而變動(dòng)時(shí)可以用 vs method計(jì)算屬性 也可以用 vswatched ;
與method對比{{fullName}}
與vs watched對比計(jì)算屬性基于自己的依賴進(jìn)行緩存,只要message沒發(fā)生變化,多次訪問該計(jì)算屬性就會(huì)立即返回之前的計(jì)算結(jié)果,而不必再次執(zhí)行函數(shù);
而method調(diào)用總會(huì)執(zhí)行該函數(shù)。
都是用來處理某些數(shù)據(jù)隨其他數(shù)據(jù)的變動(dòng)而變動(dòng)的,但盡量不要濫用watch,如果代碼是命令式和重復(fù)的,先考慮下計(jì)算屬性computed,可使代碼更簡潔。
{{msg}}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/85097.html
摘要:五六月份推薦集合查看最新的請點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語。葉上初陽乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長安旅。五月漁郎相憶否。小楫輕舟,夢入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...
摘要:五六月份推薦集合查看最新的請點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語。葉上初陽乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長安旅。五月漁郎相憶否。小楫輕舟,夢入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...
摘要:發(fā)布是由團(tuán)隊(duì)開源的,操作接口庫,已成為事實(shí)上的瀏覽器操作標(biāo)準(zhǔn)。本周正式發(fā)布,為我們帶來了,,支持自定義頭部與腳部,支持增強(qiáng),兼容原生協(xié)議等特性變化。新特性介紹日前發(fā)布了大版本更新,引入了一系列的新特性與提升,本文即是對這些變化進(jìn)行深入解讀。 showImg(https://segmentfault.com/img/remote/1460000012940044); 前端每周清單專注前端...
閱讀 3650·2021-11-18 10:02
閱讀 3181·2019-08-29 18:34
閱讀 3484·2019-08-29 17:00
閱讀 498·2019-08-29 12:35
閱讀 826·2019-08-28 18:22
閱讀 2072·2019-08-26 13:58
閱讀 1751·2019-08-26 10:39
閱讀 2748·2019-08-26 10:11