javascript - 在 MVC 中,让客户端 JavaScript 处理 View 组件是个好主意吗?

标签 javascript model-view-controller web

<分区>

在 MVC 网络应用程序中,无论是 PHP 还是 ASP.net 等,将数据吐出到隐藏 div 中的 json/csv 并让客户端 js 处理演示是否是个好主意?

例如,如果你想呈现一个表格,而不是在服务器端(PHP或C#等)将查询结果转换为HTML表格,你可以简单地将查询结果转换为json字符串并将其放入一个带显示的 div:无。然后,您使用客户端 JavaScript 读取 json 数据并将其呈现为 HTML 表格或您想要的任何内容。

好处是您在为后端编程时可以完全忘记考虑数据的表示。更改模型/ Controller 代码或副签证时,您无需不断修改 View 代码。

一个缺点是可能存在 SEO 风险。

还有其他优点或缺点吗?

最佳答案

表格数据的缺点

-它会导致“内存泄漏”和很大的下载大小。

假设您在数组中有 100.000 个对象。它只有 50 MB。每个页面加载用户都会下载此数据。这对用户不利。

-它是静态的。只有当用户刷新页面时它才会是动态的。

在动态网站中,数据总是在变化。并且用户想要关注它。

做什么

AngularJs、VueJs、ReactJs 使用作用域将数据保存在 javascript 中。但该数据必须简单(不像 100.000 长度的数组)。

如果您使用的是表格,则可以使用页面大小和页数结构。

关于javascript - 在 MVC 中,让客户端 JavaScript 处理 View 组件是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41438769/

相关文章:

javascript - 使用样式按钮时,jQuery 返回选中单选按钮的错误值

c++ - 在 Objective-C/C++ 中使用 Signals2 将 C++ 模型连接到 Controller

asp.net - 带有 IE8 问题的 ASP gridview 中的按钮

css - 如何将 svg 合并到 React 组件中?

javascript - 使用网络 worker 进行多个并发的繁重计算?

javascript - 如何让 AlloyUI 模态主体在初始化为可见时正确渲染 : false?

javascript - 使用下拉菜单操作 Bootstrap 导航,以便页面上始终显示 1 个下拉菜单

javascript - {内容: [Circular] } mean in JavaScript?是什么

php - 当我实例化该类时,方法会调用自身

javascript - Ext.ModelManager.getModel 已在 extjs 5 中弃用