4 ms·
You're telling me on:click={toggle} is nothing like (click)="toggle()"?
by russelg 3y ago
You're telling me on:click={toggle} is nothing like (click)="toggle()"?
- wirahx 3y agoit's not. `toggle` is a pointer to a function name and "toggle()" appears to be an expression which is parsed and then executed (scary). you can on on:click={() => toggle()} in svelte which is more similar, but it isn't parsed and executed, it is a pointer to an anonymous function which is directly executed. on:click={toggle()} in svelte would run the function immediately (probably not what you want) and return the result as the handler for the on:click so quite different, really.
- ttfkam 3y agoNot a pointer to a function. In JS, functions are first class objects. You might as well say toggle() is an invocation of a pointer to a function. <div onclick="toggle"> has existed since the dawn of JavaScript in Netscape Navigator 2.0 Beta Gold. Your complaint about the syntax is in fact baked into the foundations of the web.
- Bilal_io 3y agoOne is syntactically correct HTML, and the other is not. That's was the only point of my comment