vuejs:将道具传递给javascript中的组件?

时间:2016-12-10 08:10:29

标签: vue.js

如何将道具传递给javascript Vue component

这就是我通常的做法。

<child prop="value"></value>

但我想这样做

var Child = Vue.extend({
    ...
});
Chid.passProps( {foo: 'bar'} ) // some thing like this?

这可能是在vue.js吗?

这是完整的代码:

var Child = Vue.extend({
    props: ['foo'],
    methods: {
        printIt: function() {
            console.log(this.foo)
        }
    },
    template: '#example'
});
var vm = new Vue({
    el: '#root',
    data: {
        foo: 'bar'
    },
    render: function(createElement) {
        return createElement(Child); // pass down foo
    }
});

link to jsbin

1 个答案:

答案 0 :(得分:7)

请阅读有关渲染函数https://vuejs.org/v2/guide/render-function.html#createElement-Arguments

的部分

基本上你需要通过调用render函数来传递props作为数据元素的一部分

var vm = new Vue({
    el: '#root',
    data: {
        foo: 'bar'
    },
    render: function(createElement) {
        return createElement(Child, {
            props: {
                foo: this.foo
            }  
        })
    }
});