Vue initAssetRegisters()建立元件、指令、過濾器原始碼
// 註冊Vue.directive 、 vue.component() 、 Vue.filter()
initAssetRegisters(Vue)
/* @flow */
import { ASSET_TYPES } from 'shared/constants'
import { isPlainObject, validateComponentName } from '../util/index'
export function initAssetRegisters (Vue: GlobalAPI) {
/**
* Create asset registration methods.
*/
// 遍歷 ASSET_TYPES 陣列,為Vue 定義相應的方法
// ASSET_TYPES 包含 directive component filter
ASSET_TYPES.forEach(type => {
Vue[type] = function (
id: string,
definition: Function | Object
): Function | Object | void {
if (!definition) { // 判斷是否有第二個引數,沒有的話去之前的option的元件或者指令
return this.options[type + 's'][id]
} else {
/* istanbul ignore if */
if (process.env.NODE_ENV !== 'production' && type === 'component') {
validateComponentName(id)
}
// Vue.component("test",{template:""})
// 判斷傳入的是不是一個原始物件
if (type === 'component' && isPlainObject(definition)) {
definition.name = definition.name || id
// 把元件配置轉換為元件的建構函式
definition = this.options._base.extend(definition)
}
if (type === 'directive' && typeof definition === 'function') {
definition = { bind: definition, update: definition }
}
// 全域性註冊,儲存資源賦值
// this.options
this.options[type + 's'][id] = definition
return definition
}
}
})
}
相關文章
- Vue原始碼閱讀--過濾器Vue原始碼過濾器
- app直播原始碼,vue 自定義指令過濾特殊字元APP原始碼Vue字元
- 直播商城原始碼,vue 自定義指令過濾特殊字元原始碼Vue字元
- 直播軟體原始碼,vue 自定義指令過濾特殊字元原始碼Vue字元
- Servlet過濾器原始碼分析Servlet過濾器原始碼
- vue 過濾器Vue過濾器
- Vue過濾器Vue過濾器
- Vue中過濾器Vue過濾器
- vue---過濾器Vue過濾器
- vue filters過濾器VueFilter過濾器
- 小程式的wxs指令碼(類似過濾器)指令碼過濾器
- vue 日期時間過濾器Vue過濾器
- 換個角度使用VUE過濾器Vue過濾器
- Vue定義全域性過濾器filterVue過濾器Filter
- 如何在vue中使用過濾器filterVue過濾器Filter
- Vuejs——(2)Vue生命週期,資料,手動掛載,指令,過濾器VueJS過濾器
- vue 列表過濾Vue
- Spring Security系列之核心過濾器原始碼分析(四)Spring過濾器原始碼
- DRF之過濾類原始碼分析原始碼
- 過濾Servlet--過濾器Servlet過濾器
- 過濾器應用【編碼、敏感詞、壓縮、轉義過濾器】過濾器
- Vue案例引發的「過濾器」的使用Vue過濾器
- [linux]寫的一個伺服器資料過濾HTML指令碼Linux伺服器HTML指令碼
- 【過濾器】web中過濾器的使用與亂碼問題解決過濾器Web
- 過濾器過濾器
- vue2.x原始碼解析系列二: Vue元件初始化過程概要Vue原始碼元件
- SpringBoot(18)---通過Lua指令碼批量插入資料到Redis布隆過濾器Spring Boot指令碼Redis過濾器
- mvc原始碼解讀(11)-mvc四大過濾器之AuthorizationFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(12)-mvc四大過濾器之ActionFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(13)-MVC四大過濾器之ResultFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(14)-mvc四大過濾器之ExceptionFilterMVC原始碼過濾器ExceptionFilter
- 直播電商平臺開發,vue 自定義指令過濾特殊字元Vue字元
- 深入剖析Vue原始碼 - 元件基礎Vue原始碼元件
- 深入剖析Vue原始碼 - 元件進階Vue原始碼元件
- Vue 原始碼閱讀(六)元件化Vue原始碼元件化
- vue 基礎入門筆記 07:過濾器Vue筆記過濾器
- 4、過濾器的使用及自定義過濾器過濾器
- Vue.js原始碼解析-從scripts指令碼看vue構建Vue.js原始碼指令碼