欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          Vue 的 render 方法中 h 是什么?

          Vue 的 render 方法中 h 是什么?

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

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

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

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

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

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

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

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

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

          …然后可以通過(guò)使用 ES6 縮短:

          render: h => h (App)

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

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

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

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

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

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

          希望能為那些感到困惑的人解決問(wèn)題!

          推薦教程:《JS》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)