未定義またはnull参照UWPのプロパティを取得できません

ピーター

Visual Studioに次のコードがあり、Windows PhoneではUWPアプリとしては機能しませんが、デスクトップwin10のUWPアプリでは完全に機能します。また、単純なWebアプリをWebサーバーから実行し、Edgeにロードしてみましたが、完全に機能します。何が問題なのですか?私のコードは次のようになります。私はいくつかの部分を省略しました:

var model = {
    db: {},
    goalsobj: {},
    goals: [],
    init: function() {
        var openReq = window.indexedDB.open("GoalsDB");
        openReq.onupgradeneeded = function (event) {
            model.db = event.target.result;
            var objectStore = model.db.createObjectStore("Goals", { keyPath: "id" });
            objectStore.createIndex("id","id", {unique:true});
        };
        openReq.onsuccess = function (event) {
            model.db = event.target.result
            model.db.transaction("Goals", "readonly").objectStore("Goals").count().onsuccess = function (event) {
                if (event.target.result == 0) {
                    console.log("indexeddb empty");
                    var goalstemplate = {
                        id: "idee",
                        goals: [{ "name": "Task1" }, { "name": "Task2" }, { "name": "Task3" }]
                        }
                    var addReq = model.db.transaction("Goals", "readwrite").objectStore("Goals").add(goalstemplate);
                } else {
                    model.db.transaction("Goals", "readonly").objectStore("Goals").get("idee").onsuccess = function (e) {
                        model.goalsobj = e.target.result;
                        //console.log(e.target.result);
                        model.goals = model.goalsobj.goals;
                        goalfunc.makeList(); //model should not talk to view, but this case it is amust, because if I remove this, it does not render at boot.
                        }

                }

            }
    openReq.onerror = function (event) {
        console.log("Operation failed");
    }

}
    },
    add: function(goalname) {
        model.goals.push(
            {
                "name": goalname
        });
        model.savedb();
    },
    move: function (id,updown) {
        if (updown == "up") {
            model.goals.splice((id-1), 0, model.goals.splice(id, 1)[0]);
        };
        if (updown == "down") {
            model.goals.splice((id+1), 0, model.goals.splice(id, 1)[0]);
        };
    },
    savedb: function(){ 
        //console.log(goals);
        var update = model.db.transaction("Goals", "readwrite").objectStore("Goals").put(model.goalsobj);
        update.onerror = function (event) {
            console.log(event);
        };

},
};

デバイスでこの条件を実行すると、次のように表示されます。ms-appx-web://1318f74a-397e-4958-aa6b-c8d11b7c5dce/js/main.jsの行28、列25で未処理の例外

0x800a138f-JavaScriptランタイムエラー:未定義またはnull参照のプロパティ「目標」を取得できません

ニコ・チュー-MSFT

デバイス(デバイス:Microsoft RM-1118 OSVersion:WindowsMo​​bile 14393)でコードをテストしました。正常に動作しています。ご覧のとおり、htmlページにボタンを配置しました。ボタンクリックのアクションが実行model.init()され、ブレークポイントをに設定しmodel.goals = model.goalsobj.goals;ます。ボタンを2回クリックmodel.goalsすると、正しい値が設定されます。

したがって、問題はターゲットデバイスで発生するか、GoalsDB破壊された可能性があると思います原因ためUnable to get property 'goals' of undefined or null reference、ISmodel.goalsobj正しい値を設定していませんでした。移動操作など、これらの操作によってデータベース構造が変更されていないか確認してください。ターゲットデバイスの詳細を表示できます。サポートさせていただきます。

(function () {
    document.getElementById("createDatabase").addEventListener("click", createDB, false);
    function createDB() {   
        model.init();
    }
})();
var model = {
    db: {},
    goalsobj: {},
    goals: [],
    init: function () {
        var openReq = window.indexedDB.open("GoalsDB");
        openReq.onupgradeneeded = function (event) {
            model.db = event.target.result;
            var objectStore = model.db.createObjectStore("Goals", { keyPath: "id" });
            objectStore.createIndex("id", "id", { unique: true });
        };
        openReq.onsuccess = function (event) {
            model.db = event.target.result
            model.db.transaction("Goals", "readonly").objectStore("Goals").count().onsuccess = function (event) {
                if (event.target.result == 0) {
                    console.log("indexeddb empty");
                    var goalstemplate = {
                        id: "idee",
                        goals: [{ "name": "Task1" }, { "name": "Task2" }, { "name": "Task3" }]
                    }

                    model.db.transaction("Goals", "readwrite").objectStore("Goals").add(goalstemplate);

                } else {
                    model.db.transaction("Goals", "readonly").objectStore("Goals").get("idee").onsuccess = function (e) {

                        model.goalsobj = e.target.result;
                        //console.log(e.target.result);
                        if (model.goalsobj.goals != undefined) {
                            model.goals = model.goalsobj.goals;
                        } else {
                            console.log(e.target.result);
                        }

                       //goalfunc.makeList(); //model should not talk to view, but this case it is amust, because if I remove this, it does not render at 
                    }
                }
            }
            openReq.onerror = function (event) {
                console.log("Operation failed");
            }
        }
    },
    add: function (goalname) {
        model.goals.push(
            {
                "name": goalname
            });
        model.savedb();
    },
    move: function (id, updown) {
        if (updown == "up") {
            model.goals.splice((id - 1), 0, model.goals.splice(id, 1)[0]);
        };
        if (updown == "down") {
            model.goals.splice((id + 1), 0, model.goals.splice(id, 1)[0]);
        };
    },
    savedb: function () {
        //console.log(goals);
        var update = model.db.transaction("Goals", "readwrite").objectStore("Goals").put(model.goalsobj);
        update.onerror = function (event) {
            console.log(event);
        };
    }
};

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

シグナルRで未定義またはnull参照のプロパティ 'chatHub'を取得できません

未定義またはnull参照のプロパティ「キュー」を取得できません

未定義またはnull参照のプロパティ「セル」を取得できません

未定義またはnull参照のプロパティ 'hide'を取得できません

React-Bootstrap:TypeError:未定義またはnull参照のプロパティ 'bool'を取得できません

Angular2 IE11未定義またはnull参照のプロパティ 'apply'を取得できません

剣道が未定義またはnull参照のプロパティ「データ」を取得できません

Angular 2+:Internet Explorer:未定義またはnull参照のプロパティ 'call'を取得できません

Angular 2+:IE11未定義またはnull参照のプロパティ「call」を取得できません

javascript未定義またはnull参照のプロパティ '値'を取得できません

jasmine-TypeError:未定義またはnull参照のプロパティ 'catch'を取得できません

Angular 2-script5007:未定義またはnull参照のプロパティ 'apply'を取得できません

未定義またはnull参照ReactJSのプロパティ 'location'を取得できません

TypeError:未定義またはnull参照のプロパティ「0」を取得できません

未定義またはnull参照のプロパティ「キュー」を取得できません

未定義またはnull参照のプロパティ 'queryselectorall'を取得できません

修正方法:「未定義またはnull参照のプロパティ「値」を取得できません」

未定義またはnull参照のプロパティ「スタイル」を取得できません

未定義またはnull参照のプロパティ「可視性」を取得できません

未定義またはnull参照のプロパティ 'undefined'を取得できません

Handsontable 0.14.1 + ngHandsontable 0.5.2:未定義またはnull参照のプロパティ 'length'を取得できません

未定義またはnull参照のプロパティ 'subject'を取得できません

React:TypeError:未定義またはnull参照のプロパティ 'handler'を取得できません

IEでは「未定義またはnull参照のプロパティ 'getData'を取得できません」がChromeでは取得できません

未定義またはNull参照のプロパティを設定できません

未定義またはnull参照のプロパティ 'onclick'を設定できません

未定義またはnull参照のプロパティ 'style'を取得できませんが、別のサーバーで機能します

ui-select.jsのctrl.getplaceholderで未定義またはnull参照のプロパティ 'length'を取得できません

Angular2ユニットテストエラー未定義またはnull参照のプロパティ 'preventDefault'を取得できません

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ