我们的ember应用程序在常规浏览器中运行良好,也可以在Android手机上的Chrome上运行。但是当我们在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: --------------------------------
这是一个难以解决的问题。任何帮助表示赞赏。
答案 0 :(得分:0)
看起来我们找到了解决方案,经过大量的bug搜索。它与Cordova中的一个有缺陷的铬插件有关。重新安装它解决了这个问题。