Javascript 使用ASP.NET MVC和AngularJS时的视图是什么?

Javascript 使用ASP.NET MVC和AngularJS时的视图是什么?,javascript,c#,asp.net,angularjs,asp.net-mvc,Javascript,C#,Asp.net,Angularjs,Asp.net Mvc,我的理解是Web API是控制器——因为它位于AngularJS应用程序和模型之间——而AngularJS应用程序是视图。但是AngularJS应用程序有自己的模型(WebAPI)、视图(标记)和控制器(连接API和视图)。我在这里遗漏了什么吗?对于一个单页应用程序,我将拥有一个名为index的主控制器,其中一个操作将提供“index.html”页面。这是应用程序的主页,服务器上的所有初始资源都链接到该主页,例如CSS包和JS。 剩下的我将留给ControllerAPI和angular。所以我将

我的理解是Web API是控制器——因为它位于AngularJS应用程序和模型之间——而AngularJS应用程序是视图。但是AngularJS应用程序有自己的模型(WebAPI)、视图(标记)和控制器(连接API和视图)。我在这里遗漏了什么吗?

对于一个单页应用程序,我将拥有一个名为index的主控制器,其中一个操作将提供“index.html”页面。这是应用程序的主页,服务器上的所有初始资源都链接到该主页,例如CSS包和JS。

剩下的我将留给ControllerAPI和angular。所以我将以纯html的形式编写模板,稍后可以将其捆绑在js中。所有通信都将重新启动,以获取来自ControllerAPI的json数据

基本上有两个概念:

  • 带MVC的Angularjs
  • 使用WebApi的Angularjs

    对于客户端,我们使用
    angularjs
    ,对于服务器端事件使用。我们使用
    Webapi
    MVC
    。我们通常将
    WebApi
    angularjs
    一起使用,并且始终推荐使用它。
    WebApi
    没有视图,它只处理服务器端数据。我们使用
    angularjs

  • 现在来回答您的问题:-
    View
    基本上是用来为用户制作一个可视化的界面。它在
    angularjs
    MVC
    中有相同的定义

    Webapi
    不是控制器。它用于处理服务器端事件。 它作为后端工作。 它不能作为
    angularjs
    中的模型使用。
    Angularjs
    有自己的模式,称为
    $scope

    所以你不能把Webapi和angularjs混合在一起。 两者都不同,一个在客户端工作,另一个在服务器端工作


    希望这能消除你的疑虑。

    一个视图基本上是控制器返回的

    对于ASP.NET Web Api,视图将是返回的JSON数据。在ASP.NET的情况下,MVC通常是Html代码。但是,您可以使用ASP.NET MVC返回JSON数据,并模仿Web Api存在的相同行为

    ASP.NET MVC使用System.Web.Http,Web Api使用System.NET.Http,两者都基于MVC模式。因此,在这两种情况下都存在观点

    在我看来,ASP.NET MVC框架模板中“视图”文件夹的名称会导致混淆。缺少“视图”文件夹不会改变WebAPI的MVC模式

    WebAPI并不是一个真正的“控制器”,它更像是一个接口库。实际上,ASP.NETMVC控制器可以访问WebAPI资源,尽管这似乎很少使用。就ASP.NETMVC而言,视图实际上是AngularJS应用程序的容器;无论它是否使用控制器并操纵自己的模型来操纵Angular周围的区域,都不会对Angular本身产生实际影响。但是,如果ASP.NETMVC提供了一个新页面,那么新页面就会有一个全新的AngularJS应用程序。