中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jsx語法如何在Vue 3.0中使用

發布時間:2020-11-16 14:56:38 來源:億速云 閱讀:328 作者:Leah 欄目:開發技術

本篇文章為大家展示了jsx語法如何在Vue 3.0中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Vue 3.0 正式發布了,喜大普奔😁。新的語法又要學習一陣陣,不過需要在生產環境下大面積使用,可能需要等到它的周邊工具:vuex,vue-router 等等全部升級完畢。

Vue 3.0 中尤大使用的了新的編譯工具 vite,革了 webpack 的命😂。嘗試看了下文檔,發現支持 jsx 語法,由于這段時間都是在使用 react 來開發項目,jsx 完全不同的體驗,更加的純粹與靈活。

項目創建

npm init vite-app vite-vue
cd vite-vue
npm install
npm run dev

我們發現創建的目錄解構很簡單

jsx語法如何在Vue 3.0中使用

使用 JSX

Vue 3.0 直接支持 jsx 語法,新建 demo.jsx

export default function JsxTemp() {
 return <div>
 <h4>jsx</h4>
 </div>
}

引入到 App.vue 中可以完整顯示

jsx語法如何在Vue 3.0中使用

再嘗試綁定數據

import { ref } from 'vue'

export default function JsxTemp() {
 const state = ref(0)
 const onClick = () => {
 state.value++;
 console.log(state.value)
 }
 return <div>
 <h4>state: {state.value}</h4>
 <button onClick={onClick}>點擊</button>
 </div>
}

我們發現沒有像我們想的那樣 state 數一直自增&#128517;

jsx語法如何在Vue 3.0中使用

這是因為我們在 Vue 3.0 中需要使用 defineComponent 包裹來使其變成一個雙向綁定數據的組件
參數 為 setup function | object

import { defineComponent, ref } from 'vue'

export default defineComponent(() => {
 const state = ref(0)
 const onClick = () => {
 state.value++;
 console.log(state.value)
 }
 return () => (
 <div>
  <h4>state: {state.value}</h4>
  <button onClick={onClick}>點擊</button>
 </div>
 )
})

可以看到現在是實時點擊實現自增效果

jsx語法如何在Vue 3.0中使用

組件通信

組件間傳值通信該怎么來實現呢&#128558;

我們需要改用對象的方式來傳入通信數據

App.vue
<JsxTemp site="imondo.cn" @onGet="onGet" />
export default {
 ...
 methods: {
 onGet(e) {
  console.log('emit:', e)
 }
 }
}
...
export default defineComponent({
 props: {
 site: String
 },
 setup({ site }) {
 const state = ref(0)
 const onClick = () => {
  state.value++;
  console.log(state.value)
  context.emit('onGet', 'Mondo');
 }
 return () => (
  <div>
  <h2>props: {site}</h2>
  <h4>state: {state.value}</h4>
  <button onClick={onClick}>點擊</button>
  </div>
 )
 }
})

實現效果

jsx語法如何在Vue 3.0中使用

總結

我們嘗試了在 Vue 3.0 中如何使用 jsx ,這有助于我們在項目中更靈活的公用我們組件,由此也可以區分我們在項目中使用的方式

  • 無狀態組件 我們完全可以使用純函數來展示
  • 有狀態組件 存在邏輯與數據綁定的組件則需要使用 Vue 3.0 提供的一系列組件 API

上述內容就是jsx語法如何在Vue 3.0中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若尔盖县| 湖州市| 奈曼旗| 昭觉县| 延津县| 清流县| 河东区| 贡嘎县| 金溪县| 武威市| 义乌市| 库车县| 胶州市| 江川县| 滦南县| 杭州市| 抚州市| 阿坝县| 澳门| 土默特右旗| 剑河县| 九台市| 汝南县| 翁源县| 潮安县| 上犹县| 增城市| 莱阳市| 榆树市| 绥化市| 石泉县| 十堰市| 凌海市| 安宁市| 读书| 屯昌县| 凤山县| 敦化市| 泸水县| 巢湖市| 兴宁市|