只有在cordova / phonegap中运行时才会发生ember错误

时间:2018-05-02 09:12:27

标签: android cordova ember.js ember-data

我们的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: --------------------------------

这是一个难以解决的问题。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

看起来我们找到了解决方案,经过大量的bug搜索。它与Cordova中的一个有缺陷的铬插件有关。重新安装它解决了这个问题。