Хранение значений во вновь созданном объектном магазине
В этом примере автор использует следующую строку:
var customerObjectStore =
db.transaction("customers", "readwrite").objectStore("customers");
Я не понимаю, почему "клиенты" используются дважды. Я попытался переименовать одну из них, чтобы увидеть, где это может изменить ситуацию, и пример разбивается, поэтому совершенно необходимо, чтобы они сохранили одно и то же имя.
1 ответ
Решение
transaction
Метод получает два аргумента. Первая - это массив таблиц (хранилищ объектов), с которыми вы хотите работать, а вторая - тип доступа. В вашем примере вы хотите работать только с одной таблицей, поэтому вы использовали строку вместо массива. Но если вы хотите работать с крупномасштабными проектами, вам следует работать с несколькими таблицами, например так:
var trans = db.transaction(["customers", "payments"], "readwrite");
var customerObjectStore = trans.objectStore("customers");
var paymentObjectStore = trans.objectStore("payments");
Надеюсь, этот пример исправит вашу путаницу.