ember 错误仅在 运行 in cordova/phonegap 时发生
ember error happens only when running in cordova/phonegap
我们的 ember 应用程序在常规浏览器中运行良好,在 Chrome android phone 上也运行良好。但是,当我们在 Cordova 中包装相同的构建并将其安装在 android phone 上时,它会在 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: --------------------------------
这是一个很难解决的问题。任何帮助表示赞赏。
经过大量错误查找,我们似乎找到了解决方案。它与 Cordova 中有缺陷的 chromium 插件有关。重新安装解决了问题。
我们的 ember 应用程序在常规浏览器中运行良好,在 Chrome android phone 上也运行良好。但是,当我们在 Cordova 中包装相同的构建并将其安装在 android phone 上时,它会在 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: --------------------------------
这是一个很难解决的问题。任何帮助表示赞赏。
经过大量错误查找,我们似乎找到了解决方案。它与 Cordova 中有缺陷的 chromium 插件有关。重新安装解决了问题。