Vue - 在一个可重用的组件中,只为各自的组件运行一个方法

The_Ice_Man_cometh

我有一些可重用组件,每当我添加一个时,它就会被推入一个数组等中。问题是:如何确保这些可重用组件中的方法仅针对相应组件运行,而不是针对所有组件运行。

示例:使用@click 事件打开模态,模态显示我添加组件的确切次数(预期,但我想更改它,因此它只显示一次,并且只针对相应的组件)。

添加组件:

<template v-for="(comp, index) in comps">
  <component
       :is="comp"
       :key="index"
       :currentIndex="currentIndex"
       v-on:delete="deleteComp($event)"
   ></component>
</template>

某些组件中的相同方法:

methods: {
  showModal() {
   this.$bvModal.show('modalSmall');
  }
}
托尼

最好的方法是传递一个 id 作为不同组件的道具。

<template v-for="(comp, index) in comps">
  <component
       ....
       :id="comps.id" // you could create a computed property to generate an id based on a number or some other unique identifier
       ....
   ></component>
</template>

然后在你的组件中,

组件.vue

props: {
  id: {
    type: string,
    required: true
  }
}

methods: {
  showModal() {
   this.$bvModal.show(id);
  }
}

请记住在模板中为每个模态更改您的 id,从modalSmallto id(id 道具)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从vue.js中的另一个组件更新一个组件

当一次仅显示一个时,Vue似乎正在重用子组件

检查Vue组件是否扩展了另一个

从Vue.js中的另一个组件调用方法

从另一个组件中的一个Vue单个组件获取数据?

如何从不同组件的一个组件中查找div-Vue.js

Vue组件作为另一个组件的子组件

如何使用Vue可拖动从组件列表中的项目拖动到另一个组件内部的列表?

无法访问另一个组件中的vue组件数据

另一个组件的Vue调用方法

当Vue组件包裹到另一个组件中时,它停止工作

Vue.js导入另一个组件中的组件

从vue.js中的另一个组件调用一个组件

在 .vue 组件中嵌套一个内联模板

Vue 组件不显示另一个实例

在另一个 vue 组件中使用 Vue JS 组件方法

如何更改一个组件中的状态并在另一个 Vue.js 中监听它?

在 Vue 上,如何在另一个组件中使用一个组件中的函数?

如何强制从另一个组件重新渲染一个 Vue 组件

注册一个 Vue JS 组件

从 Laravel Blade 文件导入一个 Vue js 组件

vue.js - 从另一个组件调用组件方法

在另一个组件 VueJs laravel 中导入一个组件 vue

图像在 vue 组件中工作,在另一个组件中不起作用

如何正确注册一个vue组件

Vue 在一个组件中打开一个组件

我可以在 VUE 的单个文件组件中定义一个组件吗?

Vue组件控制组件实例变量由另一个相同的组件

如何在另一个方法中测试 Vue 组件方法调用