Vue提供了很多API來方便開發者編寫可讀可維護的代碼,以下是常用的一些API。
Vue.component(tagName, definition)
這個API用來創建Vue組件。tagName為組件名稱,definition為組件定義對象。組件定義對象里面至少需要有一個template屬性,指定組件的模板,還可以定義data、methods、props等屬性。
Vue.extend(options)
這個API用來擴展Vue構造函數,可以用來創建Vue子類。options為一個組件定義對象,與Vue.component()接受的參數類似,但是這個方法創建的是一個組件類,而不是組件。
new Vue(options)
這個API用來創建Vue實例,options為一個選項對象,可以包含el、data、computed、methods等屬性。
vm.$watch(expOrFn, callback, [options])
這個API用來觀察vue實例的屬性,當屬性發生改變時調用callback函數。expOrFn為要觀察的屬性或計算屬性的名稱,callback為回調函數,options為可選參數,可以指定deep、immediate和beforeChange等選項。
vm.$on(event, callback)
這個API用來監聽vue實例上的自定義事件。event為事件名稱,callback為回調函數。
vm.$emit(event, […args])
這個API用來觸發vue實例上的自定義事件。event為事件名稱,args為傳遞給回調函數的參數。
vm.$nextTick(callback)
這個API用來在DOM更新之后執行回調函數。回調函數中可以訪問更新后的DOM,可以用來操作DOM元素。
Vue.filter(name, callback)
這個API用來注冊一個全局過濾器。name為過濾器名稱,callback為過濾器函數。
Vue.directive(name, definition)
這個API用來注冊一個全局指令。name為指令名稱,definition為指令定義對象,其中包含bind、update、unbind等鉤子函數等屬性。
Vue.mixin(mixin)
這個API用來混入一個選項對象。mixin為一個選項對象,可以包含data、computed、methods等屬性。當多個組件需要共享相同的選項時,可以使用混入來共享代碼。
Vue.use(plugin)
這個API用來安裝Vue插件。plugin為一個載入Vue插件的JavaScript對象,提供install方法,用來進行插件的安裝。