如何创建 Ember 数据事务
how to create an ember data transaction
>我正在尝试创建一个事务来创建新用户。
从余烬数据中.js src
:若要创建新事务,请
transaction()
调用 应用程序的DS.Store
实例:var transaction = App.store.transaction();
我正在尝试在控制器中创建事务
App.CreateUserController = Ember.Controller.extend({
addUser: function() {
var transaction = App.store.transaction();
}
});
但我得到了
TypeError: App.store is undefined
我定义了这家商店
App.Store = DS.Store.extend({
revision: 11,
adapter: App.Adapter.create({})
});
它使用了大写 S,所以我尝试将 App.store 更改为 App.Store,我得到
TypeError: App.Store.transaction is not a function
如果我将 App.Store 更改为使用小写字母s,我会得到
TypeError: store is undefined
我错过了什么吗?
Transaction in Ember.js 消失了:保存单个记录。 https://github.com/emberjs/data/blob/master/TRANSITION.md
您需要创建一个存储而不是扩展它。约定是在创建实例时使用小写字母,因此您应该创建一个存储并将其命名为 App.store 而不是 App.Store
App.store = DS.Store.create({
revision: 11,
adapter: App.Adapter.create({})
});
然后,您将能够创建交易
var transaction = App.store.transaction();
你已经定义了App.Store
,这是一个类;你extend
DS.Store,这是一个现有的类。创建事务的代码应该在存储的实例上调用(按照惯例,类是大写的,实例是小写的)。
要创建已定义存储的实例,请执行以下操作:
App.store = App.Store.create();
myTransaction = App.store.transaction();
请注意,extend
Store 类以获取自己的 Store 类,并在自己的存储类上调用 create
来实例化它。
有关扩展与创建的详细信息,请参阅 ember.js 扩展和创建之间有什么区别?
相关文章:
- 有人能提供一张ember数据与broswer's的持久层
- Ember数据:DS.EmbeddedRecordsMixin的预期使用模式
- 如何在ember数据模型中表示数组
- Ember数据:如何;映射”;工作
- 加载json时出现Ember.js和Ember数据错误
- Ember数据一对多关系不起作用
- 如何在路线中使用空白Ember数据模型
- Ember数据帮助!无法将JSON反序列化为模型
- 在高延迟网络下使用Ember数据时的奇怪行为
- Ember数据:DS.attr(“数字”)应该如何工作
- Ember.js Ember数据呈现双嵌套hasMany关系
- Ember数据:在DS.Store.createRecord上刷新模型
- emberjs ember数据和jasmine测试
- 从外部重新加载Ember数据
- Ember数据FixtureAdapter hasmany-无法调用方法'toString'的未定义
- find()和getById()之间的Ember数据差异
- 获取元数据时出现 Ember 数据奇怪的问题
- Ember 数据模型数组并不总是有数据
- 如何将使用 getter 检索到的 Ember 数据放入临时变量中进行处理
- 加载 Ember 数据时捕获事件