首页 > 解决方案 > Vue:动态创建组件时如何传递props?

问题描述

我正在使用这个常用的教程动态创建一个组件(单击按钮后) 。基本代码是:

import Building_Info from './Info_Zone/Building'
var Building_Info_Class = Vue.extend(Building_Info)
var building_info_instance = new Building_Info_Class()
console.log(building_info_instance)
bulding_info_instance.$mount()
place_to_add_component.$el.appendChild(bulding_info_instance.$el)

但是,我的 Building_Info 组件需要一个道具。我怎样才能传递它?欢迎动态创建组件的替代方法,但理想情况下它们会支持单文件组件。

注意:有几个关于动态道具的 SO 问题,但我没有看到与这个问题有关的问题。

标签: vue.jsvuejs2

解决方案


Vue.extend从(ie, )返回的构造函数Building_Info_Class可以接收一个初始化对象,其中包含具有初始 prop 值的propsData属性:

var building_info_instance = new Building_Info_Class({
  propsData: {
    propA: '123',
    propB: true,
  }
})

演示


推荐阅读