最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - how to get data from controller to $scope in mvc using angularjs - Stack Overflow

programmeradmin0浏览0评论

I am new to angular js, I am using angular js with mvc5 application. I have created a module and controller in the js for angular. I have one action "View" in customer controller(MVC5). We need to show the all the customer in this view and i want to use "ng-repeat" here.

My problem is i am getting collection of customer as model, previously i was making foreach loop of model to show the customers. Now how i can add model into $scope data container so that i can use in ng-repeat.

I am new to angular js, I am using angular js with mvc5 application. I have created a module and controller in the js for angular. I have one action "View" in customer controller(MVC5). We need to show the all the customer in this view and i want to use "ng-repeat" here.

My problem is i am getting collection of customer as model, previously i was making foreach loop of model to show the customers. Now how i can add model into $scope data container so that i can use in ng-repeat.

Share Improve this question asked Sep 2, 2014 at 7:40 FookerFooker 7962 gold badges10 silver badges19 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 1

What you have been doing till now is rendering the customers collection on server straight to the HTML returned to the client. What you want to do ideally is to render the HTML without the customers collection and have a call over $http service to your API controller to give you the data. From there is is easy, you

I suggest reading:

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

Using $http in your controllers is far away from the best practice, but for simplification...the $http call in your controller could look like this:

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

Then you ngRepeat in the view:

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

For getting the data you need the http module to make call to server https://docs.angularjs/api/ng/service/$http

you should be doing this via an api request to an MVC controller function that is returning json to your frontend and than use the data with $http or $resource to feed it into your controller.

发布评论

评论列表(0)

  1. 暂无评论