javascript - vue中使用prop傳遞數(shù)據(jù)問題
問題描述
在vue2.0的文檔中,關(guān)于prop的介紹,有些不明白。既然是通過prop獲取父組件的數(shù)據(jù)的,但是使用之后,為什么在子組件中又重新賦值呢?并沒有拿到父組件的值啊?
為什么需要給child組件再附加一個(gè)類似屬性的message并賦值呢?不是應(yīng)該直接寫<child></child>之后,就自動(dòng)顯示出<span>父組件message值</span>,不應(yīng)該這樣顯示的嗎?
請問這個(gè)應(yīng)該怎么理解啊?為什么會是這樣的呢?prop應(yīng)該如何使用呢?
問題解答
回答1:可以這么理解。
父組件傳值給child組件。<child message=’hello’></child>子組件中有兩個(gè)地方用到了message,props區(qū)塊是注冊可能用到的變量。比如:<child message=’hello’ dep=’ssd’></child>對應(yīng)的props就應(yīng)該是[’message’,’dep’]template中{{message}}才是真正的調(diào)用變量。按你說的<child></child> 直接顯示,應(yīng)該是這樣template:’<span>hello</span> :)
為什么要寫成這樣的結(jié)構(gòu)?是考慮到組件的復(fù)用性,僅改變傳入的值就可以實(shí)現(xiàn)不同的功能。
回答2:在父組件作用域使用 v-bind:props=’data’的形式把父組件數(shù)據(jù)傳遞給子組件
回答3:是不是可以理解為子組件同時(shí)也可以修改父組件傳過來的值呢。
相關(guān)文章:
1. docker容器呢SSH為什么連不通呢?2. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?3. nignx - docker內(nèi)nginx 80端口被占用4. angular.js - angular內(nèi)容過長展開收起效果5. css - chrome瀏覽器input記錄上次cookie信息后,有個(gè)黃色背景~如何去除!6. docker綁定了nginx端口 外部訪問不到7. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?8. macos - mac下docker如何設(shè)置代理9. php - 第三方支付平臺在很短時(shí)間內(nèi)多次異步通知,訂單多次確認(rèn)收款10. 前端 - ng-view不能加載進(jìn)模板
