给定一个组件:
Vue.component('my-comp', {
props: ['input'],
watch: { input: function(){...} },
});
以下的编程方法是什么?
<my-comp :input="map[key]"></my-comp> map[key] change triggers watch
我努力了:
new (Vue.component('my-comp'))({
propsData: { input:map[key] }, // map[key] change doesn't trigger watch
});
其上下文是将零到多个组件插入到 markdown 生成的 HTML 中。我打电话.$mount()
对于每个组件,并使用本机 DOM 移动其节点replaceChild()
重新渲染 Markdown 时调用。也可以看看用户定义的 Markdown 中的 Vue 组件 https://stackoverflow.com/questions/49139819/vue-components-in-user-defined-markdown
如果 prop 输入是原始值,我们必须使用以下命令来操作组件child.$props.input = x
正如 Roy J 所建议的,但在这种情况下我们需要input = map[key]
。因此这个解决方案:
Vue.component('my-comp', {
props: ['map','key'],
computed: { input: function() { return this.map[this.key] } },
watch: { input: function(a, b) {...} }, // triggered on map[key] change
});
new (Vue.component('my-comp'))({
propsData: { map:theMap, key:theKey }, // theMap must be reactive
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)