vue 面試總結ing

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函數,當數據改變了就會來觸發這個函數;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章