用于保存状态的 JavaScript/jQuery DTO/对象

标签 javascript jquery architecture

我通常是 C# 开发人员,但使用 jQuery 编写主要是客户端的应用程序。

它相当简单:我有一个包含一些参数(如组名)的“组”列表和一个也有一些参数的“用户”列表。

目前我尝试使用 <li> 来管理它具有特定的 ID,因此需要进行大量的字符串匹配才能转换 <li id="group-2">Name - ExtraInfo</li>回到我可以使用的东西。

我觉得这种方法很愚蠢,因为 a) 我使用 UI 作为状态的后端,b) 我依赖字符串解析而不是使用真实对象。

在 C# 中,我只会创建一个 DTO(本质上是一个 List<Group> ),但我没有足够的 JavaScript/jQuery 经验来执行此操作。

有人可以给我一些关于如何创建自定义对象和管理这些对象列表的快速提示吗?

最佳答案

我只使用数组和对象(比如说 JSON):

var groups = [
    {
        name: "Name",
        info: "Extra"
    },
    {
        name: "Name",
        info: "Extra"
    }
];

关于数组的操作。 jQuery 有一些 array utilities .对于您评论中的问题,您将使用 grep:

var filteredGroups = groups.grep(function (group, i) {
    return group.name == "What I'm interested in";
});

它相当于 Linq 中的 Select().Where()(我不是 .NET 专家,所以可能有些地方不匹配)。

无论如何,这只是 MVC 结构的模型部分。您仍然需要一些函数来将组集合映射到 <ul>。元素。然后你也有 View 。

关于用于保存状态的 JavaScript/jQuery DTO/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1537348/

相关文章:

javascript - Channel.updateOverwrite 不是函数

javascript - 如何使这段代码动态化

c# - 如何将 View 逻辑设计到 C# 项目中

architecture - 开放式和封闭式分层架构是什么意思?

c# - 为集换式纸牌游戏加载超过一百万张图像的有效方法是什么?

JavaScript 闭包 : Shouldn't this array not be editable via getArray?

javascript - 如何在 Rhino 中启用 'for...in' 我的 NativeJavaObject?

javascript - 定位父元素,但不知道子元素和父元素之间有多少个节点

jquery - JavaScript - 未捕获类型错误 : Cannot read property 'search' of undefined

java - 检测在 ContentEditable div 中输入的单词