I need to combine linkTo and action helpers in Ember.js. My code is:
{{#link-to 'index'}}<span {{action 'clear'}}>Clear</span>{{/link-to}}
But I would like to make this something like this:
{{#link-to 'index' {{action 'clear'}} }}Clear{{/link-to}}
And also:
<li> {{#link-to 'support'}} <span {{action 'myAction' 'support'}}>Support</span> {{/link-to}} </li>
To:
<li> {{#link-to 'support' {{action 'myAction' 'support'}} }}Support{{/link-to}} </li>
How can I achieve this?
Solution
Check my answer for Ember 2.0 compatible, OK for SEO solution.
Advertisement
Answer
Ember Link Action addon
This is OK for SEO solution!
Install addon
ember install ember-link-action
Usage
You can pass closure action as invokeAction
param to {{link-to}}
component:
{{#link-to 'other-route' invokeAction=(action 'testAction')}} Link to another route {{/link-to}}
To pass parameters to action you can use:
{{#link-to 'other-route' invokeAction=(action 'testAction' param1 param2)}} Link to another route {{/link-to}}
Compatibility
Automated test suite confirms that addon works with 1.13 up to latest Ember 3 releases.
It works with a release, beta and canary versions of Ember.
Addon GitHub repository. Contributions are welcome.