1.這個模塊的功能是什么?
官方文檔是這樣解釋的:
該模塊默認暴露出一個 createAPI 函數,可以實現以 API 的形式調用自定義組件。並且既可以在 Vue 實例上下文中調用,也可以在普通 js 文件中調用。
注: 所有通過 createAPI 實現的通過 API 的形式調用的自定義組件(cube-ui 內置的組件)都需要通過 Vue.use 注冊才可以。
個人理解:就是通過這個這個模塊將特定的組件注冊為全局API模式調用,簡化了組件的導入和注冊,並且防止產生難以預料(?)的BUG.
2.用法
詳細用法可參考官方文檔,以下代碼功能簡單,但便於理解基本用法:
- 1.創建單獨的注冊 register.js 文件
// 導入 createAPI 模塊
import { createAPI } from 'cube-ui'
// 導入Vue
import Vue from 'vue'
// 導入需要注冊的組件
import HeaderDetail from 'components/header-detail/header-detail'
// 將 HeaderDetail 組件注冊為全局API模式調用
createAPI(Vue, HeaderDetail)
- 2.在 main.js 中引入注冊模塊
// 導入API注冊模塊
import './register'
- 3.在需要使用此API注冊組件的組件中通過 $create組件名 調用
// 點擊頭部的時候通過調用API組件的方式顯示頭部詳情
// $create+HeaderDetail
this.headerDetailComp = this.headerDetailComp || this.$createHeaderDetail({
// 配置參數$props
// 是父組件向子組件傳遞數據,類似於直接在組件中綁定屬性傳值
$props: {
seller: 'seller'
}
})
// 還可以調用API組件中的show()方法
this.headerDetailComp.show()
- 4.配置參數