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

vue用h()函數(shù)創(chuàng)建Vnodes的實(shí)現(xiàn)

 更新時(shí)間:2024年01月08日 11:10:32   作者:weixin79893765432...  
Vue提供了一個(gè)h()函數(shù)用于創(chuàng)建vnodes,本文就來介紹一下vue用h()函數(shù)創(chuàng)建Vnodes的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

前言

Vue 提供了一個(gè) h() 函數(shù)用于創(chuàng)建 vnodes。

h() 是 hyperscript 的簡稱——意思是“能生成 HTML (超文本標(biāo)記語言) 的 JavaScript”。

const vnode = h(
  'div', // type
  { id: 'foo', class: 'bar' }, // props
  key: '001', // key
  [
    /* children */
  ]
)

【注意】組件樹中的 vnodes 必須是唯一的。

一、h() 函數(shù)的基本使用方式

import { h } from 'vue'

// 除了類型必填以外,其他的參數(shù)都是可選的
h('div')
h('div', { id: 'foo' })

// attribute 和 property 都能在 prop 中書寫
// Vue 會自動將它們分配到正確的位置
h('div', { class: 'bar', innerHTML: 'hello' })

// 像 `.prop` 和 `.attr` 這樣的的屬性修飾符
// 可以分別通過 `.` 和 `^` 前綴來添加
h('div', { '.name': 'some-name', '^width': '100' })

// 類與樣式可以像在模板中一樣
// 用數(shù)組或?qū)ο蟮男问綍鴮?
h('div', { class: [foo, { bar }], style: { color: 'red' } })

// 事件監(jiān)聽器應(yīng)以 onXxx 的形式書寫
h('div', { onClick: () => {} })

// children 可以是一個(gè)字符串
h('div', { id: 'foo' }, 'hello')

// 沒有 props 時(shí)可以省略不寫
h('div', 'hello')
h('div', [h('span', 'hello')])

// children 數(shù)組可以同時(shí)包含 vnodes 與字符串
h('div', ['hello', h('span', 'hello')])

二、h() 函數(shù)的進(jìn)階使用方式

1、條件渲染

h('div', [ok.value ? h('div', 'yes') : h('span', 'no')])

2、列表渲染

h(
  'ul',
  // 假設(shè)‘items'是一個(gè)具有數(shù)組值的 ref
  items.value.map(({ id, text }) => {
    return h('li', { key: id }, text)
  })
)

3、事件

h(
  'button',
  {
    onClick: (event) => {},
    // 對于事件和按鍵修飾符,可以使用 withModifiers 函數(shù)
    onDbclick: withModifiers(() => {}, ['stop'])
  },
  'click me'
)

4、使用插槽

import { h } from 'vue'

const vnode = h(
  'SelfComponent',
  // 默認(rèn)插槽:
  // <div><slot /></div>
  // <div>{slots.default()}</div>
  h('div', slots.default()),

  // 具名插槽
  // <div><slot name="footer" :text="message" /></div>
  // <div>{slots.footer({ text: props.message })}</div>
  h(
    'div',
    slots.footer({
      text: props.message
    })
  )
)

【參考文章】
vue 官網(wǎng)之“渲染函數(shù) & JSX”

到此這篇關(guān)于vue用h()函數(shù)創(chuàng)建Vnodes的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vue h()函數(shù)創(chuàng)建Vnodes內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue基于element的區(qū)間選擇組件

    vue基于element的區(qū)間選擇組件

    這篇文章主要介紹了vue基于element的區(qū)間選擇組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue登錄注冊組件源碼詳解(注釋)

    vue登錄注冊組件源碼詳解(注釋)

    用戶自行開發(fā)了一個(gè)Vue登錄注冊組件,采用Bootstrap表單樣式,簡單實(shí)現(xiàn)防短信轟炸功能,但因接口存在bug僅模擬了登錄注冊流程
    2025-07-07
  • 解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題

    解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題

    今天小編就為大家分享一篇解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue使用Canvas生成隨機(jī)大小且不重疊圓

    Vue使用Canvas生成隨機(jī)大小且不重疊圓

    Canvas是HTML5中新增的元素,專門用來繪制圖形,下面這篇文章主要給大家介紹了關(guān)于Vue使用Canvas生成隨機(jī)大小且不重疊圓的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • vue手寫<RouterLink/>組件實(shí)現(xiàn)demo詳解

    vue手寫<RouterLink/>組件實(shí)現(xiàn)demo詳解

    這篇文章主要為大家介紹了vue手寫<RouterLink/>組件實(shí)現(xiàn)demo詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 淺析Proxy如何實(shí)現(xiàn)Vue響應(yīng)式

    淺析Proxy如何實(shí)現(xiàn)Vue響應(yīng)式

    這篇文章主要是來和大家探討一下,Vue的響應(yīng)式系統(tǒng)僅僅是一個(gè)Proxy嗎,本文將圍繞此問題探索一下Proxy是如何實(shí)現(xiàn)Vue響應(yīng)式的,感興趣的小伙伴可以了解一下
    2023-08-08
  • vue.js集成echarts時(shí)遇到的一些問題總結(jié)

    vue.js集成echarts時(shí)遇到的一些問題總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于vue.js集成echarts遇到的一些問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • vue項(xiàng)目基于WebRTC實(shí)現(xiàn)一對一音視頻通話

    vue項(xiàng)目基于WebRTC實(shí)現(xiàn)一對一音視頻通話

    這篇文章主要介紹了vue項(xiàng)目基于WebRTC實(shí)現(xiàn)一對一音視頻通話效果,實(shí)現(xiàn)代碼分為前端和后端兩部分代碼,需要的朋友可以參考下
    2024-05-05
  • Vue實(shí)現(xiàn)簡單跑馬燈特效

    Vue實(shí)現(xiàn)簡單跑馬燈特效

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡單跑馬燈特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Vue.js實(shí)現(xiàn)列表清單的操作方法

    Vue.js實(shí)現(xiàn)列表清單的操作方法

    Vue.js在設(shè)計(jì)上采用MVVM模式,當(dāng)View視圖層發(fā)生變化時(shí),會自動更新到ViewModel.接下來通過本文給大家分享Vue.js實(shí)現(xiàn)列表清單的操作方法,需要的朋友參考下吧
    2017-11-11

最新評論

左云县| 固安县| 拜泉县| 陇西县| 珠海市| 商河县| 墨竹工卡县| 濮阳县| 西贡区| 丹凤县| 龙南县| 遂平县| 澎湖县| 六盘水市| 景宁| 麻城市| 临汾市| 登封市| 拉孜县| 宁津县| 黎平县| 阳东县| 定结县| 滦平县| 龙游县| 汉沽区| 清原| 阿拉善左旗| 历史| 山东省| 铜鼓县| 永定县| 亳州市| 疏勒县| 昭平县| 鄂州市| 新余市| 阜新| 绿春县| 台北县| 桑植县|