Javascript Vue V-Bind到以编程方式创建的实例
我随后以编程方式创建了一个Vue实例。我使用它按用户事件在项目中动态添加组件实例。我现在的问题是,要初始化的组件需要一个模型。我经常这样使用它:Javascript Vue V-Bind到以编程方式创建的实例,javascript,vue.js,vue-component,Javascript,Vue.js,Vue Component,我随后以编程方式创建了一个Vue实例。我使用它按用户事件在项目中动态添加组件实例。我现在的问题是,要初始化的组件需要一个模型。我经常这样使用它: <my-component v-model="variable"/> 我知道在这里使用$ref更好,但是它必须全局工作,所以我不知道如何将它添加到DOM中。但正如旁注。 现在我需要给这个实例一个v-model绑定。我已经知道如何定义道具或插槽,但不知道如何定义模型。在官方声明中,他们提到了这方面的一些事情。但老实说,我不明白,也没有让它工
<my-component v-model="variable"/>
我知道在这里使用$ref
更好,但是它必须全局工作,所以我不知道如何将它添加到DOM中。但正如旁注。现在我需要给这个
实例
一个v-model
绑定。我已经知道如何定义道具或插槽,但不知道如何定义模型。在官方声明中,他们提到了这方面的一些事情。但老实说,我不明白,也没有让它工作。有人能告诉我如何扩展代码来定义这个实例的模型吗?类似于
instance.$model=this.variable
的东西会很棒。谢谢你 我终于找到了解决办法。我不知道是否有更好的解决方案,但这对我来说很有效
MyComponent
用于处理v-model
。通过此操作,将为父组件发出change
事件。因此,我们的想法只是将模型变量作为属性传递,在MyComponent
中处理该变量的副本,并将更改发送给父变量。要捕获此更改事件,我可以向实例中添加以下内容:
const Component = Vue.extend(EditWindow)
const instance = new Component({
propsData: { content: this.variable }
})
instance.$on('change', value => {
this.variable = value
})
instance.$mount()
document.getElementById('app').appendChild(instance.$el)
我想这和Vue在背景中实际做的是一样的(也许吧?)。但毕竟它奏效了,我很高兴。当然,如果存在“正确”的解决方案,我愿意接受
const Component = Vue.extend(EditWindow)
const instance = new Component({
propsData: { content: this.variable }
})
instance.$on('change', value => {
this.variable = value
})
instance.$mount()
document.getElementById('app').appendChild(instance.$el)