0

一度インスタンス化されたクラス (LiveScript) がありますが、そのrenderメソッドは何度も呼び出されます。メソッドで作成された各オブジェクトには、 のrenderすべての呼び出しで同じままである一意のキーが必要ですrender

class Test
    ->
     console.log 'constructor, called only once'

    render: ->
        test = {key: 4124312}
        test1 = {key: 234897}
        test2 = {key: 87234}

これは機能しますが、キーをハードコーディングする代わりに生成したいと思います。を呼び出すたびに新しいキーが生成されるため、乱数の使用は機能しませんrenderrenderこのクラスの外にキーのリストをいくつか持っていて、それらのアイテムをポップしても、作成されたオブジェクトの順序が変わる可能性があるため、機能しません。キーを生成できるかどうか、またどのように生成できるか考えていますか?

4

1 に答える 1

0

それらを生成することは 1 つのことです。実行コンテキスト中に変更されないキーで一意のオブジェクトを永続化する方法が必要なようです。これは持続性と呼ばれます。

JS では、オブジェクト リテラルを使用してオブジェクトを格納できます。ここで、ストレージ オブジェクトの各エントリのキーは、格納されたオブジェクトの一意のキーです。

{
    1234: { name: "test", key: 1234 },
    2345: { name: "test1", key: 2345 },
    3456: { name: "test2", key: 3456 }
}
于 2016-09-28T16:38:33.747 に答える