javascript - 在 Vue 组件中,如何将元素的名称作为参数传递给元素调用的函数?
问题描述
我正在制作一个交互式 SVG 地图,就像这个 CDC 页面上的那样。在我的 SVG 地图组件中,我有几个路径元素,每个元素都有一个name
对应于它们所代表的状态名称的属性,以及我想为该状态计算的绑定类函数,如下所示:
<template>
<svg>
<path name="New York" :class="computeClass" />
<path name="California" :class="computeClass" />
<!-- etc -->
</svg>
</template>
这可能是微不足道的,但有没有办法可以将name
元素的属性作为参数传递给computeClass()
它调用的函数?喜欢
<path name="New York" :class="computeClass(this.name)" />
或类似的规定?
谢谢!
解决方案
没有。计算属性就像这样:计算。它们不接收任何参数。您正在寻找的是将接收参数的函数:
methods: {
getClasses: (name) => {
// do funny things with name here
}
}
另一种选择是返回一个计算属性,其中包含您在对象中需要的所有内容。假设this.name
可以aaa, bbb and ccc
。您可以computeClass
使用以下键从对象返回:
computed: {
computeClass: () => {
// do funny things here
return {
aaa: ...,
bbb: ...,
ccc: ...
}
}
}
推荐阅读
- php - 用于在一系列文件中进行 grep 的 Shell 脚本
- angularjs - Angularjs 材料的 md 复选框无法正常工作
- apache-spark - 如何从 REST API 创建 Spark 长时间运行的上下文?
- c# - 当从 color='blue' 的表中选择 id 时如何在 asp.net(c#) 上显示表
- python - 对产品类执行 CRUD 操作?
- html - “object-fit:cover”不起作用
- php - 我的代码中有多个 AngularJS 控制器
- sql-server - 使用 FLWOR XQuery 返回多个 XML 节点和自定义父标记
- php - 如何收听 Composer 的自动加载?
- excel - 带参数分配宏的语法(按钮)