データオブジェクトのディクショナリなどのデータ構造を使用して、要素IDをキー設定する必要がありますか、それとも単に「data-」属性と必要なデータを要素に添付する必要がありますか?各要素に保存する必要のあるプロパティの数は、1つまたは2つだけです。
どこかにJavaScript用のDictionaryオブジェクト(またはTypeScript)がすでにありますか、それとも、複数のデータ構造を一緒に管理するために使用できるインメモリデータベースタイプの構造がありますか?
データオブジェクトのディクショナリなどのデータ構造を使用して、要素IDをキー設定する必要がありますか、それとも単に「data-」属性と必要なデータを要素に添付する必要がありますか?各要素に保存する必要のあるプロパティの数は、1つまたは2つだけです。
どこかにJavaScript用のDictionaryオブジェクト(またはTypeScript)がすでにありますか、それとも、複数のデータ構造を一緒に管理するために使用できるインメモリデータベースタイプの構造がありますか?
いくつかの値のみを保存する必要がある場合は、data-
属性または jQuerydata
アクセサーを使用します。
JavaScript のすべてのオブジェクトは辞書であり、TypeScript で簡単に「入力」できます。
interface DictionaryOfStrings {
[key: string]: string;
}
var a: DictionaryOfStrings;
a["first"] = "first value";
a["second"] = "second value";
for (var key in a) {
console.log("Value of '" + key + "' is '" + a[key] + "'");
}
JS で辞書構造が必要な場合は、Linq.jsに、使用または適応できるものがあります。TS 定義ファイルは、Definitely Typedで入手できます。
interface Dictionary {
Add(key, value): void;
Get(key): any;
Set(key, value): bool;
Contains(key): bool;
Clear(): void;
Remove(key): void;
Count(): number;
ToEnumerable(): Enumerable;
}
data-
このようなものが必要かどうか、またはパラメーターに依存できるかどうかは、アプリの詳細なニーズと個人的な選択に帰着します。
これに Knockoutjs のような単純なデータ バインディング フレームワークを使用できない理由はありますか? これは、私がこの場合に行うことです。
(これは私の答えであり、コメントではありません。質問として表現されていますが、モデレーター)