如何动态存储有关HTML元素的信息?

时间:2013-03-05 06:06:02

标签: javascript html typescript

我是否应该使用数据结构,如数据对象字典,键入元素ID,或者只是将带有所需数据的'data-'属性附加到元素?每个元素需要存储的属性数量只有一个或两个。

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

3 个答案:

答案 0 :(得分:1)

如果您只需要存储几个值,我会使用data-属性 - 或jQuery data访问者。

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] + "'");
}

答案 1 :(得分:0)

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

(这是我的回答,不是评论,即使是作为一个问题,主持人)

答案 2 :(得分: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-参数,都可以归结为您的应用的详细需求和个人选择。