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