1.寫過什麼組件
2.組件之間通訊
3。生命週期相關。
4.vuex
5.computed和 methods 的不同
computed是在dom和html加載後馬上執行的
methods是必須有一定的觸發條件纔會執行,如點擊事件
watch是用於觀察vue實例上數據的變化
6.路由之間的通訊
7.es6
promise
箭頭函數哪裏可以用到:
setTimeout 箭頭函數可以讓setTimeout 裏面的this綁定定義時所在的作用域。而不是指向運行時的作用域
const f = v => v //第一個v是參數 沒有參數寫()
const f = function (v) {
return v
}
箭頭函數不可以當作構造函數,不可以使用new命令
箭頭函數的 this 永遠指向其上下文的 this ,任何方法都改變不了其指向,如 call() , bind() , apply()
普通函數的this指向調用它的那個對象
8.雙向數據綁定原理
var vm = new Vue({
data: {
obj: {
a: 1
}
},
created: function () {
console.log(this.obj);
}
});
通過控制檯輸出一個定義在vue初始化數據上的對象是個什麼東西。
屬性a有兩個相對應的get和set方法,爲什麼會多出這兩個方法呢?因爲vue是通過Object.defineProperty()來實現數據劫持的。
vue數據雙向綁定是通過數據劫持結合發佈者-訂閱者模式的方式來實現的.
1)數據劫持、vue是通過Object.defineProperty()來實現數據劫持,其中會有getter()和setter方法;當讀取屬性值時,就會觸發getter()方法,在view中如果數據發生了變化,就會通過Object.defineProperty( )對屬性設置一個setter函數,當數據改變了就會來觸發這個函數;