New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't pass a function with args to a child as a prop #2436
Comments
This is expected behavior, it should be evaluated. What you are trying to do is passing down a curried version of |
Unfortunately this doesn't seem to work either. In my child component I do the following: select(index) {
this.onSelect(index) // this is the 'callback'
} The index is passed back fine, but none of the args in |
It should've been |
Gotcha, thanks so much! |
Interesting.. I thought |
@azamat-sharapov the correction that @yyx990803 made has more to do with passing the right number of parameters. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind#Syntax https://jsfiddle.net/qqfpz5ae/109/ With |
Vue.js version
1.0.16
Steps to reproduce
Loop over a div with a v-for to render a nested component:
The issue is that v-ref can't be used, because the v-for loop is not on the component (for lay-out reasons)
What is Expected?
someMethod(arg1, arg2)
should be passed down to the child, so it can be used as a callback wheneveronSelect
is handled in the child.What is actually happening?
someMethod(arg1, arg2)
is not passed to the child, instead it's evaluated on runtime.There's also no way to pass the function down with arguments without executing it on runtime.
I might be out of my depth here, but I have no clue how to solve this issue. In React I can pass down an anonymous function like so:
:on-select="(foo) => { this.doSomething(foo) }"
, which is great because it makes my components more agnostic.With that anonymous function stuff gets bound to
scope
, not sure how that works.The text was updated successfully, but these errors were encountered: