日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)VUE2教程:Vue.js2.0組件

什么是組件?

組件(Component)是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼。在較高層面上,組件是自定義元素, Vue.js 的編譯器為它添加特殊功能。在有些情況下,組件也可以是原生 HTML 元素的形式,以 is 特性擴展。

使用組件

注冊

之前說過,我們可以通過以下方式創(chuàng)建一個 Vue 實例:

new Vue({
  el: '#some-element',
  // 選項
})

要注冊一個全局組件,你可以使用 Vue.component(tagName, options)。 例如:

Vue.component('my-component', {
  // 選項
})

對于自定義標簽名,Vue.js 不強制要求遵循 W3C規(guī)則 (小寫,并且包含一個短杠),盡管遵循這個規(guī)則比較好。

組件在注冊之后,便可以在父實例的模塊中以自定義元素  的形式使用。要確保在初始化根實例之前注冊了組件:

// 注冊
Vue.component('my-component', {
  template: '
A custom component!
' }) // 創(chuàng)建根實例 new Vue({ el: '#example' })

渲染為:

A custom component!
A custom component!

局部注冊

不必在全局注冊每個組件。通過使用組件實例選項注冊,可以使組件僅在另一個實例/組件的作用域中可用:

var Child = {
  template: '
A custom component!
' } new Vue({ // ... components: { // 將只在父模板可用 'my-component': Child } })

這種封裝也適用于其它可注冊的 Vue 功能,如指令。

DOM 模版解析說明

當使用 DOM 作為模版時(例如,將 el 選項掛載到一個已存在的元素上), 你會受到 HTML 的一些限制,因為 Vue 只有在瀏覽器解析和標準化 HTML 后才能獲取模版內(nèi)容。尤其像這些元素 

     , 
      ,  , 
      ...

      自定義組件  被認為是無效的內(nèi)容,因此在渲染的時候會導致錯誤。變通的方案是使用特殊的 is 屬性:

      應當注意,如果您使用來自以下來源之一的字符串模板,這些限制將不適用:

      • Vue.component('hello-world', {
          template: '#hello-world-template'
        })

        這在有很多模版或者小的應用中有用,否則應該避免使用,因為它將模版和組件的其他定義隔離了。

        使用 v-once 的低級靜態(tài)組件(Cheap Static Component)

        盡管在 Vue 中渲染 HTML 很快,不過當組件中包含大量靜態(tài)內(nèi)容時,可以考慮使用 v-once將渲染結果緩存起來,就像這樣:

        Vue.component('terms-of-service', {
          template: '\
            
        \

        Terms of Service

        \ ... a lot of static content ...\
        \ ' })


        文章標題:創(chuàng)新互聯(lián)VUE2教程:Vue.js2.0組件
        分享地址:http://www.dlmjj.cn/article/dpdhsso.html