Javascript 向Vuejs中v-for创建的元素添加方法

Javascript 向Vuejs中v-for创建的元素添加方法,javascript,html,vue.js,Javascript,Html,Vue.js,我正在创建几个链接,当单击这些链接时,web应该会显示一些图像或其他图像,因此,我在vue的对象方法中有一些功能,每个功能都负责过滤一系列图像并显示触摸的图像。到目前为止,一切都是正确的,问题是当我必须引用这些函数时,因为调用这些函数的元素是用v-for按以下方式创建的: <li v-for="categorie in categories"> <a @click="categorie">{{categorie}}</a> </li> 当然,我已

我正在创建几个链接,当单击这些链接时,web应该会显示一些图像或其他图像,因此,我在vue的对象方法中有一些功能,每个功能都负责过滤一系列图像并显示触摸的图像。到目前为止,一切都是正确的,问题是当我必须引用这些函数时,因为调用这些函数的元素是用v-for按以下方式创建的:

<li v-for="categorie in categories">
<a @click="categorie">{{categorie}}</a>
</li>
当然,我已经为methods对象中的函数赋予了相同的名称,事实上,如果我在下面一行加上:

<li v-for="categorie in categories">
<a @click="test">{{categorie}}</a>
</li>
  • {{categorie}}

  • 是的,这是可行的(请注意,我已经更改了函数的名称),但是我需要为每个元素指定不同的函数名称,以便能够根据要应用的过滤器调用不同的函数。有人能帮我吗???谢谢

    您是否考虑过让他们都使用相同的方法?然后决定使用哪种方法

    <li v-for="category in categories">
        <a @click="filter(category)">{{ category }}</a>
    </li>
    
    也就是说,我不确定代码的其余部分看起来如何,但通常我使用计算属性来过滤项。那么计算出来的结果会是这样的:

    filteredItems() {
        this.items.filter((item) item.type = this.currentFilter)
    }
    
    过滤方法是

    filter(category) {
        this.currentFilter = category;
    }
    
    filteredItems() {
        this.items.filter((item) item.type = this.currentFilter)
    }
    
    filter(category) {
        this.currentFilter = category;
    }