Что такое 'defaultTransaction'
в get(this, 'defaultTransaction').commit();
от ember-data's store?Что такое использование данных Ember по умолчанию?
ответ
Взятые из исходного кода inline documentation:
Этот метод делегатов экономии неявного сделки магазина. Вызов этого метода - это, по сути, запрос на сохранение любых изменений в записях, которые явно не были добавлены к транзакции.
Поскольку вы можете создать новую транзакцию, чтобы контролировать, как ваши записи сохраняются, представьте, что вы не -. Это тот случай, когда defaultTransaction
приходит Другими словами, операция необходима каждый раз, когда вы-делать некоторые CRUD с вашими записями, но если вы не укажете один, то используется defaultTransaction
магазина.
Чтобы сделать еще более ясным, см метода createRecord
взятым из here:
createRecord: function(type, properties, transaction) {
properties = properties || {};
// Create a new instance of the model `type` and put it
// into the specified `transaction`. If no transaction is
// specified, the default transaction will be used.
var record = type._create({
store: this
});
transaction = transaction || get(this, 'defaultTransaction');
...
Код строка transaction = transaction || get(this, 'defaultTransaction');
показывает все это, как вы можете видеть, если сделка не указана для записи только создается defaultTransaction
будет использован.
Надеюсь, это поможет.
Спасибо за ответ. Я все еще не понимаю. Что такое '' defaultTransaction''? Переменная? Функция? Что-то вроде класса JS? Где оно сначала определено или начато? –
@HaoQiLi это экземпляр класса DS.Transaction, который будет искать его имя переменной 'dafaultTransaction', и он сначала определен в классе' DS.Store' в этой строке: https://github.com /emberjs/data/blob/master/packages/ember-data/lib/system/store.js#L119, и здесь он инстанцируется: https://github.com/emberjs/data/blob/master/packages/ember -data/Библиотека/система/store.js # L139 – intuitivepixel