我刚刚从最新的Tuts +教程' EmberJS框架基础知识'中开始学习关于Ember的知识。 (2015年5月6日发布)。本教程使用' Ember入门套件'作为基础,逐步增加更多功能。
我遇到了动作问题"创建"在控制器中处理提交的输入值以添加到数组中。具体来说,行> var newProject = Ember.copy(this.content);'似乎导致了这个问题。
这是行动代码:
`create: function(){
var newProject = Ember.copy(this.content);
this.get('controllers.projects').addObject(newProject);
this.transitionToRoute('projects');
}`
到目前为止,完整的代码在这里:http://jsfiddle.net/ralbion/y2gr9r3r/13/ 点击'转到项目' - > '添加新项目' - > '创建'看效果。
除了'为什么它不起作用?!'我的问题是:
请注意,如果我使用
var newProject = {id: App.projects.length+1, title: this.title, about: this.about};
该行动使其工作正常。
请注意,我的代码不是教程中显示的内容的副本,但它基本上是相同的(我认为!)
希望你能提前帮助和感谢。
答案 0 :(得分:0)
工作jsbin在这里:http://jsbin.com/lisetaxewu/1/edit?html,js,output
答案和更改:
1)Controller中的content
是model
的旧别名,现在已过时,但有效。所以最好写this.model
而不是this.content
2)复制工作也是如此
3)由于您使用Controller(这很好),您应该在模板中写{{model.title}}
而不是{{title}}
。不同之处在于{{title}}
是控制器属性title
,如{{model}}
是控制器属性model
,{{model.title}}
是model
属性title
。详情请http://emberjs.com/deprecations/v1.x/#toc_objectcontroller