【发布时间】:2023-03-21 16:10:01
【问题描述】:
我是 Ember.js 的初学者,我想我的问题有一个非常简单的答案,所以请多多包涵。
我尝试在控制器属性和 控制器对应模板中的 Ember.TextField 中的“值”属性。我已经成功地为控制器中的属性赋予了特定的初始值,该初始值反映在 Ember.TexField 的 value 属性中,例如:
js代码:
App = Ember.Application.create();
App.IndexController = Ember.ObjectController.extend({
aProperty: 1 });
模板:
<script type:"text/x-handlebars" data-template-name="index">
{{view Ember.TextField valueBinding="aProperty"}}
</script>
现在文本字段显示值(“1”),一切都很好。 如果我现在尝试在文本字段中输入一个新值,例如“2”,并尝试使用 App.IndexController.get("aProperty") 在浏览器控制台中检查“aProperty”的值,它不起作用并抛出一个错误并说“get()”没有定义。 如何从 IndexController 中检索“aProperty”的值并检查它是否已将值更新为我在 Ember.TextField 中输入的值?
非常感谢任何提示、cmets 和建议!
谢谢!
编辑:
下面的两个答案都完成了我想做的事情。我也得到了它的工作:我在扩展它之后创建了App.IndexController 的具体实例,如下所示:
App.IndexController = Ember.ObjectController.extend({
aProperty: 1 });
App.indexController = App.IndexController.create();
并且可以使用App.cueController.get('aProperty') 从控制台检索aProperty 的值。但是,Ember 文档中的所有示例都从未创建控制器的具体实例,所以我想知道这是否有必要,更不用说 Ember 对现实世界应用程序的鼓励了。有什么想法吗?
【问题讨论】:
标签: ember.js