vue props傳值失敗 輸出undefined


 

背景:父組件傳值給子組件,子組件通過props接收父組件的值,但是在vue中 子組件通過props獲取到的值為undefined?

 

因為vue語法中規定HTML 中的特性名是大小寫不敏感的,所以瀏覽器會把所有大寫字符解釋為小寫字符。

這意味着當你使用 DOM 中的模板時,camelCase (駝峰命名法) 的 prop 名需要使用其等價的 kebab-case (短橫線分隔命名) 命名:

例子一:

<Children :data = "goodId" />

<!-- 因為html不區分大小寫,所有值都會轉化為小寫,所以會獲取不到值。 -->
<Children :data = "good-id" />

 

例子二:

請注意以下代碼中data值不能使用駝峰命名,否則會導致傳值失敗。

父組件:

<!-- html結構中 -->
<GoodRecommend :recommendid="data" />

<!-- vue實例中 -->
 data() {
    return {
  data:“1”
  }
 },

子組件:

 props: {
    recommendid: {
      type: Number,
      default: 1
    }
  },
  mounted() {
    this.getFeath();
  },
  methods: {
    getFeath() {
    
      let categoryId = this.recommendid; //獲取商品id
      console.log("categoryId", categoryId);//獲取父組件傳來的值(recommendid:1)
} }

請移步vue文檔

 

 

 

 

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM