Vue:在获取新组件并将其插入HTML之后重新启动Vue

时间:2018-07-10 08:11:43

标签: javascript dom vue.js rendering

在我从API提取组件并将其插入DOM之后,是否有可能强制Vue重新启动自身?

按组件,我的意思是:

<div><My_component /></div>

这是BE片段的一部分。

并将其插入HTML:

document.getElementById("something").innerHTML = "<div><My_component /></div>"

我已经尝试过.$forceUpdate()函数,但是它只是返回未定义的内容而没有执行任何操作。

我无法让新添加的组件被Vue识别。有什么办法吗?

1 个答案:

答案 0 :(得分:1)

您可能想根据需要使用动态组件。

这是快速的语法。

JSON

var items = [
  {component: 'TextComponent', params: {x: 1, y: 2}},
  {component: 'BoxComponent', params: {a: 3, b: 2}}
]

Vue模板

<component :is="item.component" v-for="item in items" v-bind="item.params" />

将渲染为

<TextComponent :x="1" :y="2" />
<BoxComponent :a="3" :b="2" />