关于javascript:如何使用angularjs将数据从控制器获取到mvc中的$ scope

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

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

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


到目前为止,您一直在做的是将服务器上的客户集合直接呈现给返回给客户端的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调用可能如下所示:

1
2
3
4
5
6
7
$http({method: 'GET', url: '/api/customers'}).
    success(function(data, status, headers, config) {
        $scope.customers = data;
    }).
    error(function(data, status, headers, config) {
      alert('error');
    });

然后你在视图中重新读取:

1
2
3
4
5
6
7
8
9
<ul>

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

 
</ul>


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


你应该通过一个api请求来执行这个操作,这个函数将json返回到你的前端,而不是使用带有$ http或$ resource的数据将它提供给你的控制器。