Dan*_*ark 6 vue.js vue-component
我有一个动态组件,可以使用记录的动态组件语法在运行时解析和绑定它。
<div class="field">
<component v-if="component" :is="component" @valueUpdated="onUpdate($event)"></component>
</div>
Run Code Online (Sandbox Code Playgroud)
决定使用安装时分配的道具。
无论出于何种原因,当动态渲染的子组件发出事件时this.$emit('eventName', /*someData*/)
,父组件似乎听不到它。标准组件中使用的方法是否适用于动态呈现的组件?道具似乎有效,所以也许我做的不正确?
是的,您可以将props与动态组件一起使用,只需要为html属性使用小写连字符(kebab-case)名称,即
<component v-if="component" :is="component" @value-updated="onUpdate"></component>
Run Code Online (Sandbox Code Playgroud)
<component v-if="component" :is="component" @value-updated="onUpdate"></component>
Run Code Online (Sandbox Code Playgroud)
Vue.component('foo', {
template: `
<div>
<button @click="$emit('value-updated', { bar: 'baz' })">pass data</button
</div>
`
});
new Vue({
el: '#app',
data: {
currentComponent: 'foo',
output: {},
},
methods: {
onUpdate (payload) {
this.output = payload
}
}
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5514 次 |
最近记录: |