Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬数据:创建新记录的最佳实践_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬数据:创建新记录的最佳实践

Ember.js 余烬数据:创建新记录的最佳实践,ember.js,ember-data,Ember.js,Ember Data,我想知道在ember数据应用程序中创建新记录时的最佳实践是什么 巫婆跟随策略被认为是最佳实践 战略1 模型钩子从这个.store.createRecord()返回承诺 每个模板字段都由模型挂钩映射到模型返回 动作保存模型 战略2 每个模板字段都映射到控制器属性 操作调用this.store.createdRecord()并保存模型 我最近在《灰烬松弛》杂志上问了一个类似的问题。我得到的答案可以归结为:使用策略1,结合 从插件的自述文件: 确保在完成模型后进行清理 您停用的任何管线都将检查模

我想知道在ember数据应用程序中创建新记录时的最佳实践是什么

巫婆跟随策略被认为是最佳实践

战略1
  • 模型钩子从这个.store.createRecord()返回承诺
  • 每个模板字段都由模型挂钩映射到模型返回
  • 动作保存模型
战略2
  • 每个模板字段都映射到控制器属性
  • 操作调用this.store.createdRecord()并保存模型

我最近在《灰烬松弛》杂志上问了一个类似的问题。我得到的答案可以归结为:使用策略1,结合

从插件的自述文件:

确保在完成模型后进行清理

您停用的任何管线都将检查模型,以确保其未保存。如果是,它将回滚该模型或从存储中删除该模型,具体取决于之前是否已持久化


我最近在《灰烬松弛》中问了一个类似的问题。我得到的答案可以归结为:使用策略1,结合

从插件的自述文件:

确保在完成模型后进行清理

您停用的任何管线都将检查模型,以确保其未保存。如果是,它将回滚该模型或从存储中删除该模型,具体取决于之前是否已持久化


这要视情况而定,我使用这两种策略

对于具有
belongsTo
具有许多关系的非常复杂的模型,我通常使用策略#2,因为大多数时候清理一些控制器值比删除所有模型和依赖关系(当用户取消操作时)更简单。我在编辑带有
hasMany
的模型时,大多数时候也使用策略2,因此
hasMany
不会被直接更改

对于简单的模型,我会使用策略#1,并确保在用户不保存更改时删除模型(例如在
willTransition
hook中)

编辑:在@Grapho发表评论之前,这个ember插件可能很方便:

这要看情况而定,我使用两种策略

对于具有
belongsTo
具有许多关系的非常复杂的模型,我通常使用策略#2,因为大多数时候清理一些控制器值比删除所有模型和依赖关系(当用户取消操作时)更简单。我在编辑带有
hasMany
的模型时,大多数时候也使用策略2,因此
hasMany
不会被直接更改

对于简单的模型,我会使用策略#1,并确保在用户不保存更改时删除模型(例如在
willTransition
hook中)

编辑:在@Grapho发表评论之前,这个ember插件可能很方便:

这两种策略都非常有效,各有优缺点。但是,您的策略#2可能不应该直接绑定控制器属性。而是使用一个容易清理的虚拟/代理对象。这两种策略都是完全有效的,都有各自的优缺点。但是,您的策略#2可能不应该直接绑定控制器属性。而是使用可以轻松清理的虚拟/代理对象。