我正在尝试在我的Ember应用程序中正确地运行值绑定。绑定适用于输入,例如,当我在输入字段中键入文本时,它显示在“您的目标:”旁边。但是,当我单击“下一步”时,它没有正确显示该值。
这是一个带有我的问题的JSBIN:http://emberjs.jsbin.com/buxega/edit?html,js,console,output
目标路线
import Ember from 'ember';
export default Ember.Route.extend({
goal: '',
actions: {
nextStep: function() {
console.log('Goto next step: ', this.get('goal'));
}
}
});
模板
<section>
<div class="pod__content">
Your Goal: {{goal}}
{{input type="text" value=goal}}
</div>
<footer>
<button {{action 'nextStep'}} class="btn btn--red">Next Step</button>
</footer>
</section>
答案 0 :(得分:1)
您在控制器中设置值{{goal}}
,而不是在路径中。
import Ember from 'ember';
export default Ember.Controller.extend({
goal: '',
actions: {
nextStep: function() {
console.log('Goto next step: ', this.get('goal'));
}
}
});
http://emberjs.jsbin.com/nabeqakicu/1/edit?html,js,console,output
如果要将值发送到路线,可以执行以下操作:
<button {{action 'nextStep' goal}} class="btn btn--red">Next Step</button>
你在行动中得到它:
export default Ember.Route.extend({
goal: '',
actions: {
nextStep: function(goal) {
console.log('Goto next step: ', goal);
}
}
});
答案 1 :(得分:0)
定义属性的另一种方法
export default Ember.Route.extend({
setupController: function(controller, model) {
this._super(controller, model);
controller.setProperties({
foo: 'bar'
});
}
});