Fooker
Fooker

Reputation: 796

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

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.

Upvotes: 2

Views: 10063

Answers (3)

AirBorne04
AirBorne04

Reputation: 593

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.

Upvotes: 0

David Bohunek
David Bohunek

Reputation: 3201

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:

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>

Upvotes: 1

Kiba
Kiba

Reputation: 10827

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

Upvotes: 0

Related Questions