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)該怎么理解啊?為什么會(huì)是這樣的呢?prop應(yīng)該如何使用呢?
問題解答
回答1:可以這么理解。
父組件傳值給child組件。<child message=’hello’></child>子組件中有兩個(gè)地方用到了message,props區(qū)塊是注冊可能用到的變量。比如:<child message=’hello’ dep=’ssd’></child>對(duì)應(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. javascript - 開發(fā)者工具中的本地緩存放在電腦的哪個(gè)文件夾2. mysql - 關(guān)于時(shí)間的入庫問題,大神們你們存數(shù)據(jù)庫的時(shí)間是取本地的時(shí)間,還是取utc的時(shí)間?3. python3.x - 用python操作mongodb,在pypi上應(yīng)該安裝那個(gè)?4. html - 內(nèi)嵌app 的web 頁面如何應(yīng)用 app 內(nèi)置的靜態(tài)文件5. docker-compose 為何找不到配置文件?6. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境7. node.js - vue-cli項(xiàng)目不知名報(bào)錯(cuò),求解8. javascript - H5頁面無縫輪播9. html5和Flash對(duì)抗是什么情況?10. docker容器呢SSH為什么連不通呢?
