鍍金池/ 問(wèn)答/HTML/ vue中使用的jsx語(yǔ)法內(nèi)包含自定義組件,運(yùn)行時(shí)報(bào)組件未注冊(cè)錯(cuò)誤?

vue中使用的jsx語(yǔ)法內(nèi)包含自定義組件,運(yùn)行時(shí)報(bào)組件未注冊(cè)錯(cuò)誤?

下面這個(gè)是render函數(shù),其中兩個(gè)add-edit-type和delete-type為自定義單文件組件,已經(jīng)引入和注冊(cè)了。
clipboard.png
clipboard.png
clipboard.png
函數(shù)寫(xiě)在methods中,運(yùn)行時(shí)報(bào)錯(cuò):

clipboard.png

說(shuō)我沒(méi)有正確注冊(cè)組件,找了半天沒(méi)找到原因,vue中的jsx插件也裝了,看這樣也能識(shí)別jsx了,到底是為啥啊?求大神幫助!謝謝

添加:用elementui自帶的組件也是報(bào)這個(gè)錯(cuò)

回答
編輯回答
墨小羽

jsx里不是應(yīng)該寫(xiě)addEditType嗎

2018年9月10日 22:11
編輯回答
慢半拍

main.js里面VUE.use了嗎

2017年12月31日 21:45
編輯回答
舊時(shí)光

全局注冊(cè)正解
推測(cè)是因?yàn)閞ender函數(shù)的上下文的環(huán)境不一樣,具體的等看了源碼回答

2018年6月29日 00:54
編輯回答
離觴

如果你想要用這個(gè)組件addEditType在tree的渲染函數(shù)中的話(huà),你必須把這個(gè)組件注冊(cè)成全局的組件。

因?yàn)槟阒辉谶@個(gè)組件內(nèi)注冊(cè)的話(huà)是無(wú)法通過(guò)編譯的,tree的渲染函數(shù)是在tree里進(jìn)行編譯的,他找不到這個(gè)組件的注冊(cè)信息。


你可以在 main.js

import addEditType from './xxx/addEditType'
Vue.component('addEditType', addEditType)

然后就能通過(guò)編譯的。主要是注冊(cè)成全局的

2017年1月26日 10:54