0

これには、ノックアウト固有ではなく、一般的な JavaScript の回答が必要なだけかもしれませんが、以下で作成しているオブジェクト初期化子で特定の要素の名前を取得する方法があるかどうか知りたいです。

たとえば、作成関数を介して監視可能な配列として初期化される EmergentWorkConcerns という要素があり、現在、モデルを構築するために文字列値「EmergentWorkConcerns」を渡しています。さまざまなタイプの配列に対してこれを繰り返していることに気づきました。可能であれば、魔法の文字列の使用を最小限に抑えたいと思います。

var ReportMapping = {
    EmergentWorkConcerns: {
        key: function (item) {
            return ko.utils.unwrapObservable(item.Id);
        },
        create: function (options) {
            return rowEntryModel(options.data, "EmergentWorkConcerns", options.parent);
        }
    },
    SomeOtherRowType: {
        key: function (item) {
            return ko.utils.unwrapObservable(item.Id);
        },
        create: function (options) {
            return rowEntryModel(options.data, "SomeOtherRowType", options.parent);
        }
    },
    AnotherRowType: ...
};

作成関数内から EmergentWorkConcerns 配列を参照できる方法はありますか?

公開される唯一の引数は、「options.parent」(ReportMapping)、「options.data」(特定の行)、および「options.skip」です。関数を呼び出すときはグローバル スコープにいるため、'this' は Window オブジェクトを参照します。

4

1 に答える 1