Наше приложение ember отлично работает в обычном браузере, а также в Chrome на телефоне Android. Но когда мы оборачиваем ту же сборку в Cordova и устанавливаем ее на телефон Android, она терпит неудачу глубоко внутри фреймворка ember при выполнении одной конкретной операции. Операция store.createRecord
.
Вот код, который включает сбойную операцию:
import Ember from "ember";
import DS from 'ember-data';
const { Model, attr} = DS;
export default Model.extend({
(... declaring some attributes)
makeActivityExerciseFromExercise: function(store, activity, workoutId)
{
var config = {
(... setting some attributes)
};
var ae = store.createRecord('activity-exercise', config);
return ae;
},
...
Вот сообщение об ошибке и трассировка стека
Uncaught TypeError: Cannot read property '_attributes' of null
getValue @ vendor.js:85081
set @ vendor.js:85200
computedPropertySet @ vendor.js:36728
computedPropertySetWithSuspend @ vendor.js:36710
computedPropertySetEntry @ vendor.js:36688
Class @ vendor.js:50210
_ClassMixinProps.create @ vendor.js:50387
create @ vendor.js:21773
getRecord @ vendor.js:76229
createRecord @ vendor.js:79726
makeActivityExerciseFromExercise @ eea.js:6168
Вот вывод информации о версии при запуске:
DEBUG: --------------------------------
DEBUG: Ember : 3.0.0
DEBUG: Ember Data : 3.0.1
DEBUG: jQuery : 3.3.1
DEBUG: --------------------------------
Это сложно решить. Любая помощь приветствуется.
Похоже, мы нашли решение после долгого поиска ошибок. Это связано с глючным плагином хрома в Кордове. Переустановка решила проблему.