前言:
別想一下造出大海绞旅,必須先由小河川開始
--------------------------------正文---------------------------------
MVC (設(shè)計(jì)模式)
作用: view和modle分離
好處:解決耦合問題
防止混亂
VueJS(官網(wǎng) https://cn.vuejs.org/)
MVVM框架(雙向綁定)
插件:(專注于某一個效果)
庫:(人是主導(dǎo)摆尝,操作對像、DOM)(react應(yīng)該是一個UI庫)
框架:(框架是主導(dǎo)因悲,操作數(shù)據(jù))
下載
1. 直接下載vue.js文件
2. 使用vue-cli
格式:
new Vue({
el:'#box',
data:{
aProduct:[]
},
filters:{
cur:function(value){
return ;
}
},
computed:{
aRro:function(){
return this.aProduct.reverse();(反轉(zhuǎn))
}
},
methods:{
send(){
}
}
});
指令 v-開頭
v-model 數(shù)據(jù)綁定
v-on 添加事件
v-bind 綁定屬性
v-for 循環(huán)堕汞、迭代
建議使用v-for的時(shí)候設(shè)置v-bind:key。
v-text 純文本
v-html html
v-show 是否顯示
v-pre 跳過編譯 // 直接寫在標(biāo)簽里
v-cloak 防止閃屏 // 寫在標(biāo)簽里
[v-cloak] {
display: none;
} // 寫在style里面
// 一起使用
簡寫
v-bind
v-bind:href :href
v-bind:src :src
v-bind:key :key
v-on
v-on:click @click
v-on:keydown @keydown
生命周期鉤子
beforeCreate 創(chuàng)建前
created 創(chuàng)建后
beforeMount 掛載前
mounted 掛載后
beforeUpdate 數(shù)據(jù)更新前
updated 數(shù)據(jù)更新后
beforeDestroy 銷毀前
destroyed 銷毀后
自定義指令
Vue.directive('指令名',function(el){
當(dāng)前對象
coding....
});
事件深入
@click.prevent.stop(阻止默認(rèn)晃琳、阻止冒泡)
@keydown.enter.ctrl(enter鍵)
自定義按鍵
Vue.config.keyCodes.xxx = 鍵碼;
過濾器 filter
1讯检、文本過濾器
filters: {
xxx: function(arg1,arg2...){
return 處理后的結(jié)果;
}
}
{{message:xxx(xxx,xx,xx..)}}
2、數(shù)據(jù)過濾器
computed: {
xxx: function(arg1,arg2,arg3){
操作
返回
}
}
v-for="item in xxx"
computed 計(jì)算屬性
computed第一次調(diào)用一個函數(shù)卫旱,會解析一次數(shù)據(jù)人灼,然后會有緩存,如果下次還調(diào)用這個函數(shù)顾翼,就不解析數(shù)據(jù)了投放,直接用緩存的數(shù)據(jù),會提高性能适贸。
methods第一次調(diào)用一個函數(shù)灸芳,會解析一次數(shù)據(jù),如果下次還調(diào)用這個函數(shù)拜姿,就還會解析一次數(shù)據(jù)烙样,調(diào)用幾次,解析幾次蕊肥。
相比較methods谒获,更加節(jié)省性能。適合用于重復(fù)渲染,邏輯復(fù)雜的計(jì)算批狱。
computed: {
xxx: function(){
操作
return ;
}
}