Vue中render方法的h是什么意思

如果你接觸過vue一段時(shí)間了,那么你可能會(huì)遇到過 rendering 方法在你的app文件中 -- 在最新版本的 CLI 中它是一個(gè)默認(rèn)值, 并且是在 main.js文件中:

成都創(chuàng)新互聯(lián)公司是專業(yè)的下冶網(wǎng)站建設(shè)公司,下冶接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行下冶網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

new Vue({
 render: h => h(App)
}).$mount('#app')

或者是,如果你使用了 render 方法(函數(shù)),可能會(huì)使用JSX:

Vue.component('jsx-example', {
  render (h) {
    return <p id="foo">bar</p>
  }
})

或許你想知道,h 是用來干嘛的?它表示什么意思呢?  h  代表的是  hyperscript。它是HTML的一部分,表示的是 超文本標(biāo)記語言:當(dāng)我們正在處理一個(gè)腳本的時(shí)候,在虛擬DOM節(jié)點(diǎn)中去使用它進(jìn)行替換已成為一種慣例。這個(gè)定義同時(shí)也被運(yùn)用到其他的框架文檔中。詳情點(diǎn)擊這里 Cycle.js。

在這個(gè)問題上,Evan 描述到:

Hyperscript 它本身表示的是"生成HTML結(jié)構(gòu)的腳本"

縮寫為 h 是因?yàn)樗菀兹ポ斎搿?他還在 Frontend Masters 上描述了這一點(diǎn) 他的高級 Vue 研討會(huì) 。

真的,你可以認(rèn)為它是 createElement 的縮寫。 這將是一個(gè)長長的形式:

render: function (createElement) {
  return createElement(App);
}

如果我們用 h 代替它,那么我們可以這樣:

render: function (h) {
  return h(App);
}

...然后可以通過使用 ES6 縮短:

render: h => h (App)

Vue 版本最多需要三個(gè)參數(shù):

render(h) {
  return h('p', {}, [...])
}
  • 第一種是元素的類型(這里顯示為 p)。

  • 第二個(gè)是數(shù)據(jù)對象。 我們在這里主要包括:props, attrs, dom props, class 和 style.

  • 第三個(gè)是一組子節(jié)點(diǎn)。 然后,我們將嵌套調(diào)用并最終返回一個(gè)虛擬 DOM 節(jié)點(diǎn)樹。

更深入的信息你可以在 Vue 指南 里找到。

名稱 hyperscript可能會(huì)讓某些人感到困惑,因?yàn)?hyperscript 實(shí)際上是 一個(gè)庫的名字(這些日子沒有更新 ),它實(shí)際上有一個(gè) 小的生態(tài)系統(tǒng)。 在這種情況下,我們不是在談?wù)撃莻€(gè)特定的實(shí)現(xiàn)。

以上就是Vue 的 render 方法中 h 是什么?的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

新聞標(biāo)題:Vue中render方法的h是什么意思
轉(zhuǎn)載來于:http://muchs.cn/article20/jcjcco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站內(nèi)鏈營銷型網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化