You can get by calling,
this.get("controller").get('yourproperty');
this.get("controller").set('yourproperty', 'newvalue');
You can get by calling,
this.get("controller").get('yourproperty');
this.get("controller").set('yourproperty', 'newvalue');
Not completely sure right now, but I think that to access the “another” controller, you need to include it with the “needs” directive in the declaration of the controller:
App.MyController = Em.ObjectController.extends
needs: ["another"];
actions:
...
...
Is there a way to call transitionTo or transitionToRoute in a view’s didInsertElement method? I searched in the official api about the Ember.View but didn’t find the transitionTo or the transitionToRoute methods defined in this class
You should be able to call this.get('controller').transitionTo()
from inside a view.
Thank you guys! In my view’s didInsertElement, I tried transitionTo and the console said that this method is deprecated and then I used transitionToRoute method and it worked! This really saves a lot of trouble! Thanks for everyone again!
Is it possible to jump to another route in a component?
I found an answer on SO: App.Router.route.transitionTo('index'). I wonder whether there would be any side-effect if I put this line of code in my project?
While I understand that this was helpful to the OP, this answer doesn’t actually answer the question and I was hoping for an answer to the original question.
How do you append a component to the view after a user action? For example, I have a button on my page that when clicked should add another component to the page. The user can click the add button as many times as they want, so I cannot hide an element on the page as an option.
If you have an answer for that, I’d much appreciate it.
Does this help?
Template:
<input type="text" value={{componentName}}>
{{button action=(action "addComponent componentName}}Add{{/button}}
{{#each componentNames as |componentName|}}
{{component componentName}}
{{else}}
No components added.
{{/each}}
Action in controller:
actions: {
addComponent(componentName) {
this.get('componentNames').pushObject(componentName);
}
}