我对Ember很新,我有一些问题和疑问。
我使用此函数从单个表格行中获取信息
click: function(e) {
var element = $(e.target).closest("td");
App.person = element.text().trim();
var router;
router = this.get('controller.target.router');
router.transitionTo('newRoute');
}
我已将变量Person
绑定到文本字段:
{{view Ember.TextField valueBinding="App.Person"}}
当我点击表格元素时,它会转换为newRoute
并使用所选条目填充文本字段。但当我再次点击桌子时,没有任何事情发生。
我想要的是动态更改文本字段的内容。
我希望有人可以帮助我。
答案 0 :(得分:1)
如果您想要动态更改文本字段的内容,则无需进行路由器转换。如果将字段绑定到默认上下文(控制器)而不是使用全局变量(如App.person
),事情也会容易得多。
{{view Ember.TextField valueBinding="person"}}
然后在点击fx中,您可以修改值:
click: function(e) {
text = this.get('controller.person');
this.set('controller.person', text.trim();
}
其他一些需要注意的事项:
App.person
等全局引用。该框架应该允许您通过局部变量访问所需的一切。从click fx访问控制器的方式是 ember方式的操作示例。如果您无法找到没有全局参考的方法,请在StackOverflow上寻求帮助。$(e.target).closest("td");
this.get('controller').transitionTo('newRoute')