Vue:如何:将不同的处理程序传递给同一组件的 @click 事件?

乔纳森·马查多

我有一个简单的 Vue 组件来呈现一个区域对象。它工作正常,并具有以下内容:to="{ name: 'TerritoryContactList', params: { id: territory.id }}"以更改路线。

现在,我有一个新的 Parent 组件,需要使用相同的组件,但要防止它转到新的路由。相反,我想实现一个@click(handler).

在这种情况下,最佳做法是什么?

  <v-list-tile :to="{ name: 'TerritoryContactList', params: { id: territory.id }}" avatar>
    <v-list-tile-avatar color="amber" style="margin-right:3px">
      <v-icon color="white">map</v-icon>
    </v-list-tile-avatar>
    <v-list-tile-content>
      <v-list-tile-title v-html="territory.name"></v-list-tile-title>
        <v-list-tile-sub-title>{{territory.region.name}}</v-list-tile-sub-title>
    </v-list-tile-content>
    <v-list-tile-action>
      <v-list-tile-action-text>{{territory.address_count}}</v-list-tile-action-text>
    </v-list-tile-action>
  </v-list-tile>
Kaicui

为了使您的组件在不同情况下都能正常工作,我建议在组件外部处理组件中的 click 事件:

1.当用户点击组件时发出事件:


<v-list-tile @click="this.$emit('clickListTile')" avatar>

  </v-list-tile>

2.在你的父组件中处理事件:


<your-component @clickListTile="doSomething"></your-component>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章