有没有办法从参数中传递函数名?

像这样的..

<tr v-for="item in items" class="static" 
    v-bind:class="{'evenRow': item.oddeven=='1', 'oddRow': item.oddeven=='0' }"
@click="item.click(item.contactID)" >

</tr>  

项目在呈现页面时,click不会转换为相应的函数.

推荐答案

要使用动态函数调用,建议使用一个助手函数来接收函数名并调用相应的函数.

handle_function_call(function_name) {
    this[function_name]()
},

在模板中,当迭代项时,可以通过传递函数名来调用该函数,如

<button v-for="button of items"
       :key="button.id" 
       @click="handle_function_call(button.fn_name)" //=> note here
>
  {{ button.text }}
</button>

看《行动in jsfiddle

Vue.js相关问答推荐

在VueJS中卸载元素之前是否应该删除JavaScript事件收件箱?

通过另一个文件调用模块化窗口组件

vue3中的转换可以在滑入但不能滑出时工作

如何在Vue 3中将动态特性从主零部件同步到子零部件

我需要在 nuxt2 上使用 /index 作为 url 的一部分

v-on 的 .native 修饰符仅在组件上有效,但在 标签上使用

为什么将 name 与 router-link 一起使用比仅使用 to 与 path 更好?

如果找不到路由,Vue.js如何重定向到公共路由

在组件之间共享 websocket 连接

Webpack 编译错误:TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function

VueJS 插件的如何react式绑定?

如何在 vue 的 scss 中使用深度 Select 器

如何在异步功能上使用 debounce?

带有子菜单的 Vuetify 导航抽屉

Vuetify - 根据另一个 Select 选项过滤 Select 数据

try 通过 Vue.js 中的渲染传递props并观察它们

如果我刷新我的网页,Vuex store是空的

emit更新数组不起作用

v-bind:class 的 Vue.js 计算(computed)属性

使用 svelte js 的原因