> ## 1、vue方法
```
data: 數據集,return一個Object,
prop:接收數據定義,type:數據類型,default:默認值,value:{type: Array,default: () => {[]}}
computed: 數據的監聽,實時計算,需要return一個數據
watch: 數據觀察,深度監聽和淺監聽
```
```
watch() {
type: {
handler(val) {
console.log(val)
}
deep: true, //是否深度監聽
immediate: true //是否需要首次監聽
}
}
```
```
computed: {
list(){
return []
}
}
```
> ## 2、vue傳值方法
```
子傳父: 通過this.$emit(‘事件名',數據)傳遞,父組件通過v-on:事件名=函數()接收
父傳子:通過v-bing綁定組件,子組件通過props接收
兄弟:建一個bus總線,new一個vue。或者利用vuex,狀態管理器
```
> ## 3、注冊全局組件
```
import?Vue?from?'vue'
import?TableMixin?from?'./TableMixin'
const?Components?=?[
TableMixin,
]
//?注冊全局組件
Components.map((com)?=>?{
Vue.component(com.name,?com)
})
export?default?Vue
```
> ## 4、自定義組件
```
Vue.directive(‘name’, {
Bind(){
只調用一次,指令第一次綁定到元素時調用
},
Inserted(){
被綁定元素插入父節點時調用
},
Update(){
被綁定元素所在的模板更新時調用
},
componentUpdated(){
被綁定元素所在模板完成一次更新周期時調用
},
unbind(){
被綁定元素所在模板完成一次更新周期時調用
},
}),
```
> ## 5、$nextTick 常用于更新視圖后操作數據未變
```
vue.$nextTick(() =>{
視圖更新后的操作
})
```
> ## 6、$set常用于數據源變了,但是視圖沒更新
```
vue.$set(需要更新的集合,‘需要更新的字段’,更新值)
let obj = {
a: 2
}
this.$set(obj, 'a', 3)
```