最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

詳解Vue如何支持JSX語法

來源:懂視網 責編:小采 時間:2020-11-27 22:25:43
文檔

詳解Vue如何支持JSX語法

詳解Vue如何支持JSX語法:通常開發(fā)vue我們使用的是模板語法,其實還有和react相同的語法,那就是render函數,同樣支持jsx語法。 Vue 的模板實際是編譯成了 render 函數。 1.傳統的createElement方法 createElement( 'anchored-heading', { props:
推薦度:
導讀詳解Vue如何支持JSX語法:通常開發(fā)vue我們使用的是模板語法,其實還有和react相同的語法,那就是render函數,同樣支持jsx語法。 Vue 的模板實際是編譯成了 render 函數。 1.傳統的createElement方法 createElement( 'anchored-heading', { props:

通常開發(fā)vue我們使用的是模板語法,其實還有和react相同的語法,那就是render函數,同樣支持jsx語法。

Vue 的模板實際是編譯成了 render 函數。

1.傳統的createElement方法

createElement(
 'anchored-heading', {
 props: {
 level: 1
 }
 }, [
 createElement('span', 'Hello'),
 ' world!'
 ]
)

渲染成下面這樣

<anchored-heading :level="1">
  <span>Hello</span> world!
</anchored-heading>

2.使用jsx語法

這就是會用到一個Babel plugin 插件,用于在 Vue 中使用 JSX 語法的原因,它可以讓我們回到于更接近模板的語法上。

1.安裝

npm install\
 babel-plugin-syntax-jsx\
 babel-plugin-transform-vue-jsx\
 babel-helper-vue-jsx-merge-props\
 babel-preset-es2015\
 --save-dev

2.編輯.babelrc文件

{
"presets": ["es2015"],
"plugins": ["transform-vue-jsx"]
}

代碼編輯如下

Vue.component('jsx-example', {
 render (h) { // <-- h must be in scope
 return <div id="foo">bar</div>
 }
})

將 h 作為 createElement 的別名是 Vue 生態(tài)系統中的一個通用慣例,實際上也是 JSX 所要求的,如果在作用域中 h 失去作用, 在應用中會觸發(fā)報錯。

官網說明文檔:https://cn.vuejs.org/v2/guide/render-function.html#JSX

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

詳解Vue如何支持JSX語法

詳解Vue如何支持JSX語法:通常開發(fā)vue我們使用的是模板語法,其實還有和react相同的語法,那就是render函數,同樣支持jsx語法。 Vue 的模板實際是編譯成了 render 函數。 1.傳統的createElement方法 createElement( 'anchored-heading', { props:
推薦度:
標簽: VUE 解析 語法
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top