最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在vue中寫jsx的幾種方式

 更新時(shí)間:2022年07月13日 09:53:16   作者:為這世界操碎了心  
本文主要介紹了在vue中寫jsx的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

版本

本文版本配置 vue: 2.7.2 vue-cli: ~4.5.18; 本文代碼github倉(cāng)庫(kù)地址

render函數(shù)

render函數(shù)和vue中的template是互斥的,template最終是要編譯成virtual Dom的,而render函數(shù)可以更直接構(gòu)建virtual Dom; virtual Dom由樹狀的vnode構(gòu)成,h函數(shù)可以構(gòu)建vnode

vue templates are compiled into virtual DOM render functions. vue also provides APIs that allow us to skip the template compilation step and directly author render functions

If both render and template are present in a component, render will take higher priority.

如果render和template同時(shí)出現(xiàn),render會(huì)有更高的權(quán)限(vue2不太一樣,下面會(huì)說)。

這些在文檔中有更直接的說明vue3 render函數(shù)

jsx/tsx

jsx類似于h函數(shù),都是更直接使用javascript來構(gòu)建DOM,需要注意的是jsx語(yǔ)法需要去編譯處理,有的腳手架可能有預(yù)先配置,有的沒有。

在typescript下需要編寫tsx

使用jsx的幾種方式

使用js對(duì)象注冊(cè)component

When not using a build step, a Vue component can be >defined as a plain JavaScript object containing >Vue-specific options:

vue組件也可以直接使用普通的js對(duì)象來注冊(cè)

// 定義一個(gè)js文件,導(dǎo)出組件對(duì)象
// componentObject.js
export default {
  data() {
      return {
          msg: 'hello'
      }
  },
  created() {
      setTimeout(() => {
          this.msg = 'hello world'
      }, 1000);
  },
  render() {
      return <h1>{this.msg}</h1>
  }
}
<script>
import componentObject from './../components/componentObject.js'

export default {
  components: {
    jsxComponent
  }
};
</script>

使用.vue文件

這里如果template和render函數(shù)如果同時(shí)指定的話,會(huì)用template覆蓋掉render,顯然是template優(yōu)先級(jí)更高,跟文檔上的render優(yōu)先級(jí)更高不一樣

// sfcJsx.vue
<!-- <template>
  <div>test</div>
</template> -->
<script>
  export default {
    data() {
      return {
        msg: 'i am sfc jsx'
      }
    },
    created() {
        setTimeout(() => {
            this.msg = 'i am sfc jsxxxx'
        }, 1000);
    },
    render() {
        return <h1>{this.msg}</h1>
    }
  }
</script>

vue2.7在.vue文件中結(jié)合compositionApi和jsx

目前在setup中return jsx會(huì)報(bào)錯(cuò),目測(cè)是loader沒有支持(有知道解決辦法的老師傅也可以告訴我一下..),只能在setup使用compositionApi再加上render函數(shù)里寫jsx

// sfcJsx.vue
<script>
import { ref } from 'vue';
export default {
  setup() {
    const count = ref(0);
    setTimeout(() => {
      count.value = 12
    }, 1000);
    return {
      count
    }
  },
  render(h) {
    return (
      <h1>{this.count ? <span>11</span>: <span>22</span>}</h1>
    )
  }
}
</script>

到此這篇關(guān)于在vue中寫jsx的幾種方式的文章就介紹到這了,更多相關(guān)vue使用jsx 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js中NaiveUI組件文字漸變的實(shí)現(xiàn)

    Vue.js中NaiveUI組件文字漸變的實(shí)現(xiàn)

    這篇文章主要介紹了Vue.js中NaiveUI組件文字漸變的實(shí)現(xiàn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Vue程序化的事件監(jiān)聽器(實(shí)例方案詳解)

    Vue程序化的事件監(jiān)聽器(實(shí)例方案詳解)

    本文通過兩種方案給大家介紹了Vue程序化的事件監(jiān)聽器,每種方案通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-01-01
  • vue3+vite+ts父子組件之間的傳值

    vue3+vite+ts父子組件之間的傳值

    隨著vue2的落幕,vue3越來成熟,有必要更新一下vue3的父子組件之間的傳值方式,這里介紹下vue3+vite+ts父子組件之間的傳值方式實(shí)例詳解,感興趣的朋友一起看看吧
    2023-12-12
  • Vue 組件(component)教程之實(shí)現(xiàn)精美的日歷方法示例

    Vue 組件(component)教程之實(shí)現(xiàn)精美的日歷方法示例

    組件是我們學(xué)習(xí)vue必須會(huì)的一部分,下面這篇文章主要給大家介紹了關(guān)于Vue 組件(component)教程之實(shí)現(xiàn)精美的日歷的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 分享9個(gè)Vue的巧妙冷技巧

    分享9個(gè)Vue的巧妙冷技巧

    這篇文章主要介紹了分享9個(gè)Vue的巧妙冷技巧,文章首先通過巧用$attrs和$listeners的技巧展開,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Vue JS對(duì)URL網(wǎng)址進(jìn)行編碼解碼,轉(zhuǎn)換為對(duì)象方式

    Vue JS對(duì)URL網(wǎng)址進(jìn)行編碼解碼,轉(zhuǎn)換為對(duì)象方式

    這篇文章主要介紹了Vue JS對(duì)URL網(wǎng)址進(jìn)行編碼解碼,轉(zhuǎn)換為對(duì)象方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue使用html2canvas和jspdf實(shí)現(xiàn)PDF文件導(dǎo)出

    Vue使用html2canvas和jspdf實(shí)現(xiàn)PDF文件導(dǎo)出

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用html2canvas和jspdf實(shí)現(xiàn)PDF文件導(dǎo)出功能并設(shè)置頁(yè)面大小及方向,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • vue-路由精講 二級(jí)路由和三級(jí)路由的作用

    vue-路由精講 二級(jí)路由和三級(jí)路由的作用

    這篇文章主要介紹了vue-路由精講 二級(jí)路由和三級(jí)路由的作用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue如何使用rem適配

    vue如何使用rem適配

    這篇文章主要介紹了vue如何使用rem適配,幫助大家處理vue開發(fā)移動(dòng)應(yīng)用時(shí)的兼容性問題,感興趣的朋友可以了解下
    2021-02-02
  • 如何查看vue項(xiàng)目的node版本

    如何查看vue項(xiàng)目的node版本

    文章總結(jié):查看Vue項(xiàng)目中使用的Node版本,特別是當(dāng)項(xiàng)目使用Yarn和TypeScript時(shí),可以通過查看yarn.lock文件中的@types/node@version來確定版本
    2025-01-01

最新評(píng)論

六安市| 婺源县| 义乌市| 饶阳县| 隆化县| 余干县| 旺苍县| 仪陇县| 奇台县| 东阳市| 临安市| 惠州市| 南木林县| 柳江县| 沙湾县| 平泉县| 阳高县| 定陶县| 鄂州市| 乡城县| 米脂县| 宝清县| 三明市| 山东省| 巍山| 山东| 孟村| 呈贡县| 遵义县| 宜宾县| 磴口县| 浪卡子县| 楚雄市| 长垣县| 遂川县| 新民市| 万宁市| 忻州市| 蒲江县| 南宫市| 芜湖县|