Vue.js
2.0和1.0發(fā)生改變比較大。
學習要點:
1.Vue基礎知識介紹(Vue是什么熙涤,能做什么)
2.案例
3.地址列表案例
選擇一個好的前端框架很好崎页。
預備知識:
基于js的MVVM框架鞠绰。
我們需要知道js知識,
vue-resource:類似于jQuery的AJAX功能飒焦,可以使用多種請求方式蜈膨,如GET,POST屿笼。我們還可以使用JSONP。vue-resource同時具備這樣的功能翁巍。我們不想使用jQuery這么大的庫驴一,我們可以使用它去與后臺進行交互。
Vue 基礎知識介紹:
特點:易用灶壶,靈活-漸進式
1)易用:
聲明式的渲染肝断。
html:
<div id="app">
{{ message }}
</div>
js:
var app = new Vue(
el: '#app',
data: {
message: 'Hello, world!'
}
)
效果:
如果是jQuery的話,就需要先獲取
#app
這個元素驰凛,去掉用text()
方法胸懈,或者html()
方法來使用這個字段。比如我們的詳情界面恰响,字段比較多的時候趣钱,就不能使用jQuery去一個個渲染,這樣就顯得比較笨重胚宦。
Vue是一個
模型
首有,基于模型視圖
的這樣的一個框架。
2)靈活 - 漸進式
不管我們開發(fā)單頁面應用還是開發(fā)多頁面應用枢劝,首先我們是通過聲明式地來渲染我們的每一個字段井联,這是我們的基本的要求。
聲明式渲染:渲染頁面每一個字段 呈野。每個功能都應該聲明式地渲染每個細節(jié)低矮。展現(xiàn)信息就需要通過渲染來實現(xiàn)。
組件系統(tǒng):我們在做一個頁面的時候被冒,就需要把公共的頭部军掂,公共的尾部抽取出來做成一個組件,這里需要做組件系統(tǒng)昨悼。
客戶端路由:多頁面蝗锥。
大規(guī)模狀態(tài)管理:如果系統(tǒng)比較大,Vuex可以大規(guī)模管理狀態(tài)率触。
構建工具:使用構建工具來build我們的系統(tǒng)终议,提升我們的效率。
漸進式:
當我們需要與后臺進行交互葱蝗,我們就去加入一個vue-resource的插件穴张。
當我們需要路由的話,我們就去加一個vue-router的插件两曼。
當我們的項目足夠復雜皂甘,就去加一個vuex,來進行狀態(tài)管理悼凑。
最后偿枕,可以使用構建工具來構建我們的系統(tǒng)璧瞬。
從簡單到復雜,卻什么就補什么渐夸。這就是漸進式構建嗤锉。
3)高效
a.16kb min+gzip 的運行大小,很小墓塌。(v2.0)
vue的功能往往比那些模板引擎強大的多瘟忱。
b.超快虛擬DOM
1.0版本是沒有虛擬DOM的,是直接去創(chuàng)建桃纯,直接去生成現(xiàn)有的DOM酷誓。
從2.0開始,所有的更改只會在最后一次從虛擬的DOM向現(xiàn)有的DOM去寫入态坦。
比如我們修改了10次,10次都會在Virtual DOM 去操作棒拂,操作完了之后伞梯,才向現(xiàn)實的DOM里面去寫入。因此效率很快帚屉,在虛擬DOM中修改本來就比在現(xiàn)實DOM中快谜诫。
c.最省心的優(yōu)化
js能最做的,就不會再Vue里面去實現(xiàn)這樣的功能攻旦,因為是多余的喻旷,最主要的目的是減輕Vue的大小,提升效率牢屋。
Vue基礎指令的介紹
1)指令的使用:
v-model # 主要在表單里面使用且预。 文本框,單選烙无,復選锋谐,textarea等控件可以使用。v-model是一個雙向的功能截酷。我們向文本框中輸入以后涮拗,模型也會相應的改變。反之亦然迂苛。
v-text # 主要是對文本的渲染三热。 我們使用v-text與使用{{}}是一個意思。但是如果{{}}在vue沒有初始化完成之前三幻,就會顯示{{}}在頁面就漾,所以我們在使用文本渲染的時候,更多的是去使用vue-text赌髓。
v-show # 顯示與隱藏从藤〈吖颍控制DOM的顯示與隱藏。
v-if
v-bind # 綁定屬性夷野。給DOM元素添加屬性懊蒸。(eg: 給img節(jié)點綁定src屬性)
v-for # 循環(huán)。主要用在表格悯搔,li標簽去循環(huán)生成數(shù)組骑丸。
v-on # 事件綁定。
v-show
與v-if
都可以使用顯示與隱藏的功能妒貌,區(qū)別是:
v-show
是添加display: block
與display:none
去顯示與否通危。這個DOM對象還是存在的。
v-if
如果這個DOM不顯示的話灌曙,那么整個DOM就沒有菊碟。不存在于整個DOM樹中。
2)過濾器filter
使用情景在刺,我們與后臺進行交互逆害。后臺返回的數(shù)據我們未必全部需要,或者說有些字段我們需要進行轉換蚣驼,那么我們可以使用filter魄幕。
比如后臺接口返回了字段type
,type
值有1,2,3,4
颖杏,我們想1,2,3,4
對應地展示中國纯陨,美國,俄羅斯留储,德國
翼抠,我們就可以使用filter。
3)組件Component
Component欲鹏,模塊化机久。把一個網頁拆分為多少個組件。
每一張網頁赔嚎,可以看成很多小組件合成的網頁膘盖。每一種組件可復用。