Vue是一個MVVM框架肌稻,這里的MVVM指的僅僅是前端掘殴,和后端無關。在MVVM框架中车摄,視圖和數(shù)據(jù)不能直接通信寺谤,而是通過中間人ViewModel,ViewModel它可以監(jiān)聽到數(shù)據(jù)的變化吮播,然后通知視圖做更新变屁。同時它也可以監(jiān)聽到視圖在改變,使數(shù)據(jù)改變薄料。
一.build&set敞贡,vue簡單語法功能展示
代碼示例:
二.常用語法
1.v-text.v-html.文本插值
示例代碼:
頁面輸出:
2.v-on綁定事件
專門用于綁定事件的指令,用法和v-blind差不多摄职,比如添加點擊事件< a v-on:click="方法名 / 執(zhí)行語句"> 誊役,可直接縮寫為@click获列,可直接綁定一個方法,也可以直接使用內聯(lián)語句
示例代碼:
頁面輸出:
3.v-bind
v-bind指令可以在后面帶一個參數(shù)蛔垢,中間用冒號隔開击孩,這個參數(shù)一般是HTML的屬性,比如v-bind:class ,可縮寫為:class鹏漆,這個class和原來的class 并不沖突巩梢。
示例代碼:
頁面輸出:
4.v-for
v-for指令:用于循環(huán)
示例代碼:
頁面輸出
5.v-model
v-model雖然很像使用了雙向數(shù)據(jù)綁定的 Angular 的 ng-model,但是 Vue 是單項數(shù)據(jù)流艺玲,v-model 只是語法糖而已:
示例代碼:
頁面輸出
6.計算屬性computed
在正常情況下括蝠,代碼中可以直接進行簡單的運算,但是如果太多就顯得難以維護饭聚。而計算屬性就是將這個邏輯提取出來忌警,專門來維護。
代碼示例:
頁面輸出:
7.Vue.component組件
定義一個組件
代碼示例:
頁面輸出:
8.父子通信props
父組件傳遞數(shù)據(jù)給子組件:props
代碼示例:
頁面輸出:
9.子組件傳遞信息給父組件
代碼示例:
頁面輸出:
注意: 在子組件中不要直接更改props的值秒梳,不推薦也不支持法绵,想要用可以直接賦值給一個變量,或者用計算屬性酪碘,如果需要改變父組件這個值怎么辦呢朋譬,就可以利用watch監(jiān)聽傳來的props數(shù)據(jù),然后把這個數(shù)據(jù)賦給一個變量兴垦,這樣我們就可以操作這個變量徙赢,再$emit派發(fā)事件把想要改變的數(shù)據(jù)傳給父組件,父組件再監(jiān)聽探越。
10.兄弟組件通信(組件通信之任意及平行組件間通信)
代碼示例:
頁面輸出:
11.#給一個對象注冊一個不存在的屬性
假如我們需要監(jiān)聽對象下某個不存在的屬性犀忱,那么我們可以通過set去創(chuàng)建。
全局注冊: vue.set(item, 'checked', true) item.checked = true
局部注冊: this.$set(item, 'checked', true)
12.過濾器filter
過濾器在開發(fā)中會經常用到扶关,比如我們要顯示一個日期,我們就必須做以下轉換
代碼示例:
頁面輸出:
13.混合mixins
我們知道vue實例中會傳入一個對象数冬,里面有方法节槐,計算屬性等,假如有兩個vue實例拐纱,他們有很多公用的東西铜异,那么就可以用到混合了,混合可以當做一個Vue實例秸架,同時它又可以和任何一個
對象進行組合揍庄。如下: am 和 vm 都需要使用方法foo,這個時候就可以聲明一個混合來復用之众。
代碼示例:
先寫到這里届搁。爆阶。斥扛。。夏短夜長