1

我应该使用数据结构,如数据对象字典,以元素 ID 为键,还是简单地将带有所需数据的“数据-”属性附加到元素?每个元素需要存储的属性数量只有一两个。

是否已经有一个用于 JavaScript 的 Dictionary 对象(或者可能是 TypeScript),或者甚至更好的内存数据库类型结构,我可以使用它来一起管理多个数据结构?

4

3 回答 3

1

如果您只需要存储几个值,我会使用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] + "'");
}
于 2013-03-05T14:47:28.467 回答
0

有什么理由不能为此使用像 Knockoutjs 这样的简单数据绑定框架?这就是我在这种情况下要做的。

(这是我的回答,不是评论,尽管被表述为问题,版主)

于 2013-03-05T06:09:41.467 回答
0

如果你确实需要 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-参数,将归结为您的应用程序的详细需求和个人选择。

于 2013-03-05T08:22:08.787 回答