如何在mvc中使用angularjs将数据从控制器获取到$scope

how to get data from controller to $scope in mvc using angularjs

本文关键字:控制器 数据 获取 scope angularjs mvc      更新时间:2023-09-26

我是angular js的新手,我在mvc5应用程序中使用angular js。我在js中为angular创建了一个模块和控制器。我在客户控制器(MVC5)中有一个操作"查看"。我们需要在这个视图中显示所有的客户,我想在这里使用"ng重复"。

我的问题是,我正在收集客户作为模型,之前我正在制作模型的foreach循环以向客户展示。现在,我如何将模型添加到$scope数据容器中,以便在ng中重复使用。

到目前为止,您一直在做的是将服务器上的客户集合直接呈现为返回给客户端的HTML。理想情况下,您想要做的是在没有客户集合的情况下呈现HTML,并通过$http服务调用API控制器来为您提供数据。从那里是容易的,你

我建议阅读:

  • http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
  • https://docs.angularjs.org/api/ng/service/$http
  • https://docs.angularjs.org/api/ng/directive/ngRepeat

在控制器中使用$http远非最佳做法,但为了简化。。。控制器中的$http调用可能如下所示:

$http({method: 'GET', url: '/api/customers'}).
    success(function(data, status, headers, config) {
        $scope.customers = data;
    }).
    error(function(data, status, headers, config) {
      alert('error');
    });

然后你在视图中重复:

  <ul>
    <li ng-repeat="customer in customers">
       {{customer.name}}
    </li>
  </ul>

为了获取数据,您需要http模块来调用服务器https://docs.angularjs.org/api/ng/service/$http

您应该通过对MVC控制器函数的api请求来实现这一点,该函数将json返回到前端,然后使用带有$http或$resource的数据将其馈送到控制器中。