2017-10-28 88 views
1

我傳遞一個道具給我的意見,但是當我在控制檯打印結果它發送給我未定義,但在視圖中打印我的ID,因爲未定義我不能做請求/諮詢型這是代碼:組件道具未定義在Vue.js

export default { 
    props: ['idVideo'], 
    data:() => ({ 
    videos: [] 
    }), 
    created() { 
    //do something after creating vue instance 
    this.api = new ApiCanal10({}) 
    this.getRelVideos() 

    }, 
    methods: { 
    getRelVideos: function() { 
    //print in the console 
     console.log(`video/related/${this.idVideo}`) 
    } 
    } 
} 

這是在視圖打印和控制檯的圖像發給我爲未定義 enter image description here

我會很感激,如果你能幫助我這個問題。

+0

打印前您有錯誤異常。你確定它與此無關嗎? – LiranC

+0

這是一個本地播放器的警告,但它是一個不同的組件,它不會影響自己的項目 –

回答

0

camelCase vs. kebab-case

HTML屬性是不區分大小寫的,所以[...]託駝峯名稱需要使用他們的烤肉情況(連字符分隔)等同於:

Vue.component('child', { 
    // camelCase in JavaScript 
    props: ['myMessage'], 
    template: '<span>{{ myMessage }}</span>' 
}) 


<!-- kebab-case in HTML --> 
<child my-message="hello!"></child> 

因此,你需要你的組件屬性綁定如下:

<component-name :id-video="someVar"></component-name> 
+1

「再一次,如果您使用的是字符串模板,則此限制不適用。」它也不適用於OP正在使用的單個文件組件。 – Bert

+0

我做了什麼更新父親請求與這樣的更新 - > updated(){ this.getRelVideos() },然後我用它的方法調用它: - >方法:{ getRelVideos:function ){} } –

+0

@JULIOMACHAN你能澄清和更新你的問題嗎? – str

0
export default { 
    updated(){ 
    this.getRelVideos() 
    }, 
    methods: { 
    getRelVideos: function() {} 
    } 
} 

以這種方式在控制檯中顯示它的請求:要從孩子我使用的更新這是代碼的父母傳遞信息。