国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue props用法詳解(小結)

2024-05-06 15:32:57
字體:
來源:轉載
供稿:網友

Vue props用法詳解

組件接受的選項之一 props 是 Vue 中非常重要的一個選項。父子組件的關系可以總結為:

props down, events up

父組件通過 props 向下傳遞數據給子組件;子組件通過 events 給父組件發送消息。

父子級組件

比如我們需要創建兩個組件 parent 和 child。需要保證每個組件可以在相對隔離的環境中書寫,這樣也能提高組件的可維護性。

這里我們先定義父子兩個組件和一個 Vue 對象:

var childNode = { template: `  <div>childNode</div>  `};var parentNode = { template: `  <div>   <child></child>   <child></child>  </div>  `, components: { child: childNode }};new Vue({ el: "#example", components: { parent: parentNode }});
<div id="example"> <parent></parent></div>

這里的 childNode 定義的 template 是一個 div,并且內容是"childNode"字符串。

而在 parentNode 的 template 中定義了 div 的 class 名叫 parent 并且包含了兩個 child 組件。

如果大家想對VUE.JS有更加深入系統的學習,可以參閱 Vue.js實戰 PDF高質量掃描版 這本經典讀物

靜態 props

組件實例的作用域是孤立的。這意味著不能(也不應該)在子組件的模板中直接飲用父組件的數據。要讓子組件使用父組件的數據,需要通過子組件的 props 選項。

父組件向子組件傳遞數據分為兩種方式:動態和靜態,這里先介紹靜態方式。

子組件要顯示的用 props 聲明它期望獲得的數據

修改上例中的代碼,給 childNode 添加一個 props 選項和需要的forChildMsg數據;

然后在父組件中的占位符添加特性的方式來傳遞數據。

var childNode = { template: `  <div>   {{forChildMsg}}  </div>  `, props: ["for-child-msg"]};var parentNode = { template: `  <div>   <p>parentNode</p>   <child for-child-msg="aaa"></child>   <child for-child-msg="bbb"></child>  </div>  `, components: { child: childNode }};

命名規范

對于 props 聲明的屬性,在父組件的 template 模板中,屬性名需要使用中劃線寫法;

子組件 props 屬性聲明時,使用小駝峰或者中劃線寫法都可以;而子組件的模板使用從父組件傳來的變量時,需要使用對應的小駝峰寫法。別擔心,Vue 能夠正確識別出小駝峰和下劃線命名法混用的變量,如這里的forChildMsgfor-child-msg是同一值。

動態 props

在模板中,要動態地綁定父組件的數據到子組件模板的 props,和綁定 Html 標簽特性一樣,使用v-bind綁定;

基于上述靜態 props 的代碼,這次只需要改動父組件:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 鹤峰县| 类乌齐县| 濮阳市| 清远市| 淅川县| 三河市| 文昌市| 岢岚县| 宾阳县| 吉安县| 阜宁县| 定安县| 墨竹工卡县| 渝北区| 措美县| 江城| 中宁县| 信宜市| 安乡县| 沂源县| 绥化市| 社会| 荔波县| 湖北省| 科尔| 寿阳县| 沈丘县| 荥经县| 河津市| 荆门市| 静宁县| 手游| 华亭县| 迁西县| 鞍山市| 长治县| 象州县| 库尔勒市| 油尖旺区| 锡林郭勒盟| 唐山市|