如何将 'delegated' 函数的参数传递给另一个从 child 到 parents 的函数?
How to pass params of a 'delegated' function to another function from child to parents?
我有一个问题。我怎样才能调用一个(委托的)函数并向它添加一些参数,javascript 中有 vay 吗?
我创建了一个小例子:
https://jsfiddle.net/p7kL5mvw/
在grandchild中,我有一个OnEdit函数。它应调用其 parents onEdit 函数,因此 grandparent 组件接收 a) 更改的值和 b) 来自中间(TableView)的 prop a 和 b。
我正在寻找一些东西,所以我可以在这一行中说:
<click-to-edit v-model="todos[idx].text" :editable="true" :pOnEdit="onEdit"></click-to-edit>
调用我的 parent 的 onEdit 函数,传递我的 child 给出的值并添加我的参数,例如:
:pOnEdit="onEdit(() => childArgument, todos[idx].a, todos[idx].b)
有没有可能,或者你会如何解决这个问题?非常感谢您的帮助!
只需使用custom events
内部 click-to-edit
组件
<input @input="$emit('update', $event.target.value)" />
Parent:
<click-to-edit v-model="todos[idx].text" :editable="true" @update="$emit('update', $event, todos[idx].a, todos[idx].b)"></click-to-edit>
盛大parent:
<Parent @update="onUpdate" />
methods: {
onUpdate(childArgument, parentArgumentA, parentArgumentB) {
// do whatever
}
}
其实我找到了解决办法。由于您可以在 VueJS 模板中使用 javascript,因此它只适用于:
:pOnEdit="onEdit.bind(this, todos[idx].a, todos[idx].b)"
然后爷爷和孙子吵架了。如果有人有同样的问题,我希望它能有所帮助:)
我有一个问题。我怎样才能调用一个(委托的)函数并向它添加一些参数,javascript 中有 vay 吗?
我创建了一个小例子: https://jsfiddle.net/p7kL5mvw/
在grandchild中,我有一个OnEdit函数。它应调用其 parents onEdit 函数,因此 grandparent 组件接收 a) 更改的值和 b) 来自中间(TableView)的 prop a 和 b。
我正在寻找一些东西,所以我可以在这一行中说:
<click-to-edit v-model="todos[idx].text" :editable="true" :pOnEdit="onEdit"></click-to-edit>
调用我的 parent 的 onEdit 函数,传递我的 child 给出的值并添加我的参数,例如:
:pOnEdit="onEdit(() => childArgument, todos[idx].a, todos[idx].b)
有没有可能,或者你会如何解决这个问题?非常感谢您的帮助!
只需使用custom events
内部 click-to-edit
组件
<input @input="$emit('update', $event.target.value)" />
Parent:
<click-to-edit v-model="todos[idx].text" :editable="true" @update="$emit('update', $event, todos[idx].a, todos[idx].b)"></click-to-edit>
盛大parent:
<Parent @update="onUpdate" />
methods: {
onUpdate(childArgument, parentArgumentA, parentArgumentB) {
// do whatever
}
}
其实我找到了解决办法。由于您可以在 VueJS 模板中使用 javascript,因此它只适用于:
:pOnEdit="onEdit.bind(this, todos[idx].a, todos[idx].b)"
然后爷爷和孙子吵架了。如果有人有同样的问题,我希望它能有所帮助:)