我已经使用ASP.NET MVC大约一年了。我喜欢使用以下工具创建SPA的能力:
- 部分视图(通过html.action()和renderPartial())
- Ajax助手(Ajax.Actionlink()和Ajax.beginform())
醇>
我的问题是,没有JavaScript框架就可以继续安全,或者我没有使用像Javascript framework
这样的Angular JS
来严重错过任何内容。
答案 0 :(得分:3)
这取决于您构建的许多应用程序类型,但通常您不必在ASP.NET MVC和Angular之间进行选择,您可以在项目中使用它们。 例如,如果您有一个网格,其中用户将添加行,您必须计算总和等,您可以在该页面上使用角度(这将加快开发过程)。 但是如果你有包含静态内容的页面,你可以使用ASP.NET MVC在那里提供一个html文件。 你甚至可以使用它们。对于类似博客文章的内容,您可以使用静态html文件作为帖子内容,然后使用angular实现注释。
答案 1 :(得分:3)
由于ASP.NET是服务器端框架,因此它只能像AJAX插入一样。 Angular JS是一个客户端框架,专为SPA而设计。如果你想要一个轻量级的SPA,ASP.NET会做得很好,但我认为你应该使用正确的工具来做正确的工作。不要犹豫,将它们混合起来,以便在服务器端渲染和客户端动态之间找到合适的位置。
答案 2 :(得分:2)
你肯定错过了一些东西。
像angular这样的框架的目的不仅仅是处理你的引导标签开关或者只是显示UI的一部分而不是一切。当然,您可以通过利用这样的逻辑来创建小而简单的SPA,但是一旦您开始创建真实世界的应用程序,该方法将变得无法使用。原因是:
回到模板,这是一个非常强大的功能。同样,在简单应用程序的情况下,您可以使用自定义JS代码 - 即,连接字符串以创建HTML片段,然后将它们插入到DOM中。但即使使用简单的应用程序,这也是一件很臭的事情。想象一下,你必须编写自定义JS来连接像Facebook这样的应用程序中的聊天消息,然后将它们插入到DOM中。例如,使用angular2,您可以执行以下操作:
<ul>
<li *ngFor="let msg of messages">{{msg.Sender}} said: {{msg.Content}}</li>
</ul>
这样,Angular2将为您完成所有解析和DOM处理。也就是说,您为要显示的内容编写声明性标记而不是命令式逻辑。
总而言之,它们可以帮助您将逻辑与UI分离,因此您应该深入了解任何流行的框架,并在想要创建丰富的应用程序时体验它们的功能。你不会后悔的。