从Razor(asp.net)迁移到Angular JS作为模板引擎

问题描述 投票:12回答:1

我们使用的是ASP.NET Razor,我们大量使用Razor生成HTML,在布局中包含部分视图,以及类似的东西。

但是,现在Angular已经出现并且非常强大,我们希望尽可能多地使用它。

一位同事建议理论上应该可以用Angular JS完全取代Razor,我们对它进行了研究,看起来似乎是可行的。

例如,我们可以用Html.Partial替换ngInclude,我们可以用RenderBody()替换<ng-view>,我们可以用ng-repeat替换循环等。

将Razor放在一边并只与Angular合作是否有任何陷阱?我们错过了什么吗?

c# asp.net angularjs razor
1个回答
4
投票

我甚至不确定你有问题。两个引擎本质上都做同样的事情,区别在于Angular JS发生在客户端上,而Razor发生在服务器上。无论如何,如果渲染和逻辑不需要服务器这样做,则将动态部分移动到客户端。

如果我是你,我仍然会使用Razor文件生成最终的html。在服务器上必须生成某些内容的那些时候,您可能会发现它很有用。也许你最终可能会根据用户权限提供完全不同的控件。这很重要,因为如果在客户端上发生安全敏感的呈现,则可能会被某人规避。但是,如果该代码永远不会因为服务器生成它而到达,那么您就处于更好的位置。

© www.soinside.com 2019 - 2024. All rights reserved.