Ember.js 是否需要在创建新模型实例之前使用createRecord?
在使用余烬和余烬数据构建我的第一个应用程序时,我注意到,在为新创建的模型键入输入字段时,有一次我开始出现以下错误: 断言失败:无法将集合('notes',t)委托给对象代理的'content'属性:其'content'未定义 我通过向路线添加以下代码解决了此问题:Ember.js 是否需要在创建新模型实例之前使用createRecord?,ember.js,ember-data,Ember.js,Ember Data,在使用余烬和余烬数据构建我的第一个应用程序时,我注意到,在为新创建的模型键入输入字段时,有一次我开始出现以下错误: 断言失败:无法将集合('notes',t)委托给对象代理的'content'属性:其'content'未定义 我通过向路线添加以下代码解决了此问题: App.LessonNewRoute = Ember.Route.extend({ model: function() { return this.store.createRecord('lesson');
App.LessonNewRoute = Ember.Route.extend({
model: function() {
return this.store.createRecord('lesson');
}
});
我的理解是,当我使用ObjectController
创建LessonController(而不是让ember生成)时,这个错误就开始发生了
我现在想知道:
据我所知,你的方法很好 为了在视图中使用模型,必须以某种方式使模型实例可用。因此,如果您尝试在未分配任何内容时使用
内容
,它将失败。我使用不同的方法来解决这个问题,但是在操作处理程序中创建记录
对于某些场景,特别是小模型,我通常在控制器中创建相应的属性(有点像viewModel方法),并使用一个操作来处理保存。然后我实际上在该操作中创建了记录,传递createRecord
的控制器属性参数
示例(完全概念化):
然后在模板中,我将输入绑定到控制器道具,而不是模型
{{input type="text" value=controller.personName}}
通过这种方法,我的
Route#model
不会输出要添加到我的存储中的空白模型,因此我不必处理rollback
或任何事情。有趣的方法,我将尝试实现它,看看哪一个更适合我。然而,在尝试时,我似乎无法在model.save上使用done处理程序,它总是抛出以下错误:TypeError:undefined不是一个函数
{{input type="text" value=controller.personName}}