如何将props 传递给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

推荐答案

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

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

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

Vue.js相关问答推荐

正在try 访问vutify中v-select(ItemProps)的嵌套json值

为什么 Pinia/Vuex 比使用服务类的classic 方法更受欢迎?

如何使用 vuejs 在浏览器 url 中获取当前 product.id 的详细信息

如何对将 DOM 元素附加到 HTML 正文的 Vue 组件进行单元测试?

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

vuetifyjs:仅添加使用过的图标来构建

即使响应为 200,也会调用 Axios Catch

VueJS 将 HTML 打印到页面

我可以使用 vue.js v-if 来判断值是否存在于数组中

Vuetify 单选按钮未显示为选中状态

如何克隆props对象并使其无react

在手动安装的 vue 组件中使用 vuex

Vue.js 拦截器

是否可以从 vue-devtools 中排除 vue 事件和 vuex Mutations?

从子组件 Vue 更新父模型

Vue js在列表中添加动态字段,删除和排序不起作用

mount() 仅在组件 Vue.js 上运行一次

如何使用vue js判断组件本身的数据何时发生变化?

使用 svelte js 的原因

如何在 vue3 中的setup方法中发出事件?