欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

h() 是 hyperscript 的簡(jiǎn)稱(chēng)——意思是“能生成 HTML (超文本標(biāo)記語(yǔ)言) 的 JavaScript”。

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

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

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

import { h } from 'vue'

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

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

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

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

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

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

// 沒(méi)有 props 時(shí)可以省略不寫(xiě)
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) => {},
    // 對(duì)于事件和按鍵修飾符,可以使用 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue監(jiān)聽(tīng)鍵盤(pán)事件的相關(guān)總結(jié)

    vue監(jiān)聽(tīng)鍵盤(pán)事件的相關(guān)總結(jié)

    這篇文章主要介紹了vue監(jiān)聽(tīng)鍵盤(pán)事件的相關(guān)總結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • 關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù)

    關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù)

    這篇文章主要介紹了關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù),輔助函數(shù)的好處就是幫助我們簡(jiǎn)化了獲取store中state、getter、mutation和action,下面我們一起來(lái)看看文章具體的舉例說(shuō)明吧,需要的小伙伴也可以參考一下
    2021-12-12
  • 利用vue-router實(shí)現(xiàn)二級(jí)菜單內(nèi)容轉(zhuǎn)換

    利用vue-router實(shí)現(xiàn)二級(jí)菜單內(nèi)容轉(zhuǎn)換

    這篇文章主要介紹了如何利用vue-router實(shí)現(xiàn)二級(jí)菜單內(nèi)容轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • vue中watch的實(shí)際開(kāi)發(fā)學(xué)習(xí)筆記

    vue中watch的實(shí)際開(kāi)發(fā)學(xué)習(xí)筆記

    watch是Vue實(shí)例的一個(gè)屬性是用來(lái)響應(yīng)數(shù)據(jù)的變化,需要在數(shù)據(jù)變化時(shí)執(zhí)行異步或開(kāi)銷(xiāo)較大的操作時(shí),這個(gè)方式是最有用的,下面這篇文章主要給大家介紹了關(guān)于vue中watch的實(shí)際開(kāi)發(fā)筆記,需要的朋友可以參考下
    2022-11-11
  • vue.js中過(guò)濾器的使用教程

    vue.js中過(guò)濾器的使用教程

    過(guò)濾器是一個(gè)通過(guò)輸入數(shù)據(jù),能夠及時(shí)對(duì)數(shù)據(jù)進(jìn)行處理并返回一個(gè)數(shù)據(jù)結(jié)果的簡(jiǎn)單函數(shù)。下面這篇文章主要給大家介紹了關(guān)于vue.js中過(guò)濾器使用的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)看看詳細(xì)的介紹。
    2017-06-06
  • vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線(xiàn)方式

    vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線(xiàn)方式

    這篇文章主要介紹了vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue高級(jí)組件之provide與inject使用及說(shuō)明

    vue高級(jí)組件之provide與inject使用及說(shuō)明

    這篇文章主要介紹了vue高級(jí)組件之provide與inject使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue 實(shí)現(xiàn)把表單form數(shù)據(jù) 轉(zhuǎn)化成json格式的數(shù)據(jù)

    Vue 實(shí)現(xiàn)把表單form數(shù)據(jù) 轉(zhuǎn)化成json格式的數(shù)據(jù)

    今天小編就為大家分享一篇Vue 實(shí)現(xiàn)把表單form數(shù)據(jù) 轉(zhuǎn)化成json格式的數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 你不可不知的Vue.js列表渲染詳解

    你不可不知的Vue.js列表渲染詳解

    這篇文章主要給大家介紹了關(guān)于你不可不知的Vue.js列表渲染的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue3?element-plus實(shí)現(xiàn)圖片預(yù)覽功能實(shí)例

    vue3?element-plus實(shí)現(xiàn)圖片預(yù)覽功能實(shí)例

    這篇文章主要給大家介紹了關(guān)于vue3?element-plus實(shí)現(xiàn)圖片預(yù)覽功能的相關(guān)資料,在項(xiàng)目中我們經(jīng)常會(huì)碰到圖片預(yù)覽的功能需求,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09

最新評(píng)論