gpt4 book ai didi

javascript - 如何确保 JS 匿名对象继续映射到 POCO ViewModels

转载 作者:行者123 更新时间:2023-11-30 06:34:55 26 4
gpt4 key购买 nike

我们有一个广泛使用 AJAX 调用的 ASP.NET MVC 应用程序。

这些 AJAX 调用将数据发送到我们的 Controller 方法 - 这个 Controller 方法需要一个参数,它是一个简单的 POCO ViewModel 类。

在我们的 JavaScript 中,我们创建了一个匿名对象,其属性映射到我们的 ViewModel 的属性,MVC 框架处理所有路由,以便在 Controller 方法中我们获得具有所有属性的 ViewModel。

一切都很好。

我们想要做的是采用一种稳健的方法来确保 JavaScript 匿名类和 ViewModel 类保持同步 - 如果开发人员更改其中一个,他们就会更改另一个。我们当然可以在两个文件中添加注释,说“改变一个,改变另一个”,并威胁要对未能保持同步的开发人员进行严厉殴打,但即使有代码审查,这也是一个可能的领域被错过。

如果有某种可以检查这一点的自动化单元测试会很棒,但我不知道如何实现这一点。

有什么建议吗?

提前致谢

格里夫

最佳答案

有一个名为 knockoutjs 的 javascript 库,它完全用于您要实现的目标。看起来您正在尝试将 MVVM 模式与 ASP.NET MVC 框架一起使用。对于任何 MVVM 模式,保持 View 模型与 View 同步是一个常见问题。 KnockoutJS 允许您创建直接绑定(bind)到 View 的 JavaScript View 模型客户端。更新 View 时更新 View 模型,更新 View 模型时更新 View 。 KnockoutJS 使用一种称为观察者模式的通用模式来实现这一点。 KnockoutJS 还提供了一个映射插件,因此 View 模型可以接收 JSON 格式的服务器端 View 模型并更新自身,从而更新 View 。这就是您正在寻找的功能。该库和映射插件可以在他们的网站 www.knockoutjs.com 上找到。仅供引用......这是一个生产级图书馆。他们也有很好的文档和示例。我希望这有帮助。不要重新发明轮子。

关于javascript - 如何确保 JS 匿名对象继续映射到 POCO ViewModels,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com