Vue全局組件和局部組件及組件傳值

全局組件注冊

就是說它們在注冊之后可以用在任何新創(chuàng)建的 Vue 根實例 (new Vue) 的模板中。下面是使用在root根示例下的first-component全局組件:

image.png

使用Vue.component定義的全局組件里面的data,和普通new Vue示例里面的data有所不同,Vue.component定義的時候data必須是一個function,而new Vue實例里邊data必須是一對象
image.png

關于Vue.component里面組件命名以及標簽使用的時候的一些問題:
html標簽是不區(qū)分大小寫的,但是如果注冊組件的時候使用了駝峰命名或者帕斯卡命名,html標簽里面必須以短橫線分隔命名,如果注冊組件的時候不是駝峰命名或者帕斯卡命名的話,html標簽是不區(qū)分大小寫的。如下:
image.png

局部組件注冊

局部組件注冊在vue實例中的components對象里面,可以注冊多個局部組件,只有在實例中注冊了該組件的根元素才能夠使用這個組件,所有叫做局部組件。注意js中定義變量時不允許中線鏈接,所以這里定義使用帕斯卡或者駝峰,則根元素中使用組件時需要使用中線連接

image.png

關于上面的name屬性傳參時,當設級到動態(tài)的值需要使用v-bind:進行綁定。通過props獲取值。Vue中的props自帶屬性類型檢測,如下:
image.png

Vue中is屬性渲染動態(tài)組件

下圖示例通過點擊國際新聞,國內新聞修改data中currentTab的值,然后html中使用is動態(tài)綁定值獲取組件。(is屬性還有一個作用就是,當組件嵌套不符合html規(guī)則的時候,通過將組件修改為標簽,然后is屬性綁定組件即可)

image.png

Vue中組件間傳參問題

子組件像父組件傳參:

需要在子組件上通過$.emit這個對象注冊事件監(jiān)聽(第一個參數(shù)是事件名,第二個參數(shù)是需要傳遞的值),之后再父組件中通過v-on:綁定事件,若觸發(fā)該事件則觸發(fā)一個父組件的方法,

image.png

若父組件像子組件傳參:

則在父組件中以屬性的形式傳值,在子組件中以props獲取,子組件里面可以通過插值表達式調用


image.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 前言 您將在本文當中了解到,往網(wǎng)頁中添加數(shù)據(jù),從傳統(tǒng)的dom操作過渡到數(shù)據(jù)層操作,實現(xiàn)同一個目標,兩種不同的方式....
    itclanCoder閱讀 26,241評論 1 12
  • vue概述 在官方文檔中,有一句話對Vue的定位說的很明確:Vue.js 的核心是一個允許采用簡潔的模板語法來聲明...
    li4065閱讀 7,606評論 0 25
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本,Vue即被注冊為全局變量,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,296評論 4 129
  • 什么是組件? 組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝...
    youins閱讀 9,705評論 0 13
  • 若能無視 若能當做不存在 是否此刻 她不會悲傷哭泣 命運把男女栓在一起 驕傲的心 讓女人無法不在意 痛 穿透每一根...
    方雅妮閱讀 344評論 3 12

友情鏈接更多精彩內容