gpt4 book ai didi

javascript - VueJS 独立组件事件

转载 作者:行者123 更新时间:2023-11-30 20:11:36 27 4
gpt4 key购买 nike

我有一个组件通过总线发出事件,如下所示。同一组件需要在另一个组件上包含两次。我希望发出的事件填充不同的变量;

    //component.vue
<template>
<div>
Hello there?
<a @click="changed">New</a>

<ol>
<li v-for="option in list">
<div class='row justify-content-start'>
<div class='col-sm-6'><input v-model="option.value" type='text' placeholder="key"/></div>
<div class='col-sm-6'><input v-model="option.name" type='text' placeholder="Name"/></div>
</div>
</li>
</ol>
</div>
</template>
<script>
export default{
props:['options','iscolumn'],
data(){
return {list:this.options,item:{name:'',value:''}}
},
methods:{
changed(){
$bus.$emit('add-option',this.item,this.iscolumn);
}
}
}
</script>
/** root.vue **/

<template>
<div>
<h3>Rows</h3>
<div><rows :options="rows" :iscolumn="false"/></div>


<h3>Columns</h3>
<div><rows :options="columns" :iscolumn="true" /></div>
</div>
</template>

<script>
export default{
components:{'rows':require('./component')},
data(){
return {
columns:[],rows:[]
}
},
created(){
this.$bus.$on('add-option',(option,iscolumn)=>{
if (is_column) {this.columns.push(option);}
else this.rows.push(option);
})
}
}
</script>

当我从根目录单击新建 时,列和行都会被填充。寻找每个组件都是独立的情况,无法理解它们如何共享变量。任何帮助将不胜感激。

最佳答案

组件分配唯一的键属性:

<template>
<div>
<h3>Rows</h3>
<div><rows key="rows1" :options="rows" :iscolumn="false"/></div>

<h3>Columns</h3>
<div><rows key="rows2" :options="columns" :iscolumn="true" /></div>
</div>
</template>

关于javascript - VueJS 独立组件事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com