2017-10-28 82 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() {} 
    } 
} 

以这种方式在控制台中显示它的请求:要从孩子我使用的更新这是代码的父母传递信息。