27

AngularJS 使用双向客户端数据绑定(来自 AngularJS 开发人员指南): 双向数据绑定

有没有人考虑将服务器端模板引擎AngularJS 双向客户端数据绑定结合使用。像这样的东西: 混合数据绑定

我正在考虑仅将 AngularJS 用于页面的部分(组件)?这是个好主意吗?

我想听听您是否已经有过类似方法的经验,以及有哪些缺点和优点......

4

3 回答 3

10

Angular 是一个完整的 UI 渲染客户端框架。您可以将数据输入其中,它会呈现正确的 html。就其本身而言,Angular 是一个完全与任何服务器解耦的模板解决方案

您正在尝试做的是将您的 Angular 应用程序重新耦合到您的服务器。这将是更多的工作,很少有好处,并且您将失去切换服务器技术的能力,但保持您的 Angular 应用程序不受影响。

从本质上讲,你不想这样做的原因与你不想让你的服务器为你渲染 JavaScript 的原因是一样的……它只是不那么明显,因为多年来我们一直在渲染我们所有的 HTML在服务器上。

最后的结果才是最重要的。UI 工作正常且应用程序易于维护。如果您发现您的解决方案更易于维护,那么您应该这样做。我很难想象使用只托管 JSON 的服务器比直接使用 HTML 和 JavaScript 更容易维护。

于 2012-10-28T20:27:38.963 回答
3

我和你有同样的困境,我来自使用 SMARTY 作为服务器端模板引擎的背景,我们最近开始使用 AngularJS。

我认为混合这两种解决方案在完全分离的本质上是合适的。即不要将页面的一部分与这两种技术混合使用,而是分别使用这两种技术。

例如,如果您有一个用户根本不会与之交互的列表页面,您可以完美地使用服务器端模板。

但是,如果在这种情况下页面涉及大量操作和用户端交互,那么您应该使用 Angular。

如果您使用的是 SPA(单页应用程序),则根本不要使用服务器端模板。

于 2014-05-17T07:56:32.340 回答
0

在我们最近制作的一个科尔多瓦应用程序中,我们使用了一种混合。修复我们以角度方式执行的表单、列表、标题和菜单等内容,某些部分(例如来自 RTE 的内容)或经常更改我们使用指令ngBindHtml添加的模板。如果客户想要更改布局或想要将当前未知的内容放入其中,则其背后的想法是在应用程序的内容页面中保持灵活。但我建议:如果您可以轻松维护应用程序(无需长时间的部署/批准过程),您应该以有角度的方式进行(但不要考虑 SEO;)。

于 2014-07-25T21:28:08.350 回答