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的数据将它提供给你的控制器。