vue 绑定事件时可以动态赋值么

i_m_not_segment
  • 12

clipboard.png
如图:
元素的属性可以动态绑定,那绑定事件时可以实现动态赋值么,希望能主动解析obj.eve为真正的方法名称,现在这么添加事件是报错的,怎么可以实现动态赋值呐

回复
阅读 17.1k
7 个回答

我这里自己理一下办法,将动态的方法名称传给一个事件处理总线的方法,因为方法的参数是可以动态传值的,真正方法需要的参数可以放到后面,在中转方法调用本来方法时传入。

//template
<el-input v-model="projectForm[obj.field]">
    <el-button v-if="obj.icon" slot="append" :icon="obj.icon" @click.native="eventBus(obj.eve, obj.icon)">
    </el-button>
</el-input>

//methods
eventBus(eveName, ...parameters) {
    this[eveName](...parameters);
}

任意函数gggg(参数)

他的意思应该是如何动态修改 click 绑定的事件名称。

看了文档表示没有看到相关的,可能是我看疏忽;
不过绑定方法的改变看作是执行函数改变,把变化的函数写在绑定的方法里应该可以吧

传一个参数进行根据参数类型在绑定的函数里面执行具体方法如何?

VUE这点算是蛮大的缺点。
例如我用V-for遍历,生成form中一堆不同的component,这些component并不是简单的元素,而是封装好的component,但是,每个componet都要绑定不同的json属性,这个时候,怎么处理?以前是直接可以通过选择器来处理。现在的话,就很麻烦。

我想知道怎么传参的时候进行动态传参在方法中还可以直接调取

宣传栏