0

Есть два контроллера:

app.controller('myCtrl', function ($scope) {

    $.get('http://localhost:5000/Nop.Web/auction/GetJsonDataByExtId?ExtId=' + ExtId, function (data) {
        $scope.carsname = data[0].Name;
        console.log('JSON GOT IT: ' + data[0].Name);
    });
});
app.controller('myCtrl2', function ($scope) {
    $.getJSON('http://localhost:5000/Nop.Web/auction/GetJsonData', function (data) {
        console.log('List of objects: ' + data);
    });
});

И разметка:

<div ng-controller="myCtrl">
    <h1>Angular got it: {{carsname}}</h1>
</div>
<div class="col col-md-12" ng-controller="myCtrl2">
                    <ul class="bxslider3">

                    </ul>
                </div>

Первый получает один JSON объект, второй - набор JSON объектов.

Требуется чтобы первый выводил data[0].Name, а второй выводил лист объектов data[i].Name

1 Answers1

0

Вывод массивов в шаблонах angular осуществляется с помощью директивы ng-repeat. Выглядеть это будет так.

Контроллер:

app.controller('myCtrl2', function ($scope, $http) {
    $http({method: 'GET', url: 'http://localhost:5000/Nop.Web/auction/GetJsonData'}).then(function (data) {
        console.log('List of objects: ' + data);
        $scope.data = data; // Переменная data должна быть массивом!
    });
});

Шаблон:

<div class="col col-md-12" ng-controller="myCtrl2">
    <ul class="bxslider3">
        <li ng-repeat="item in data">{{item.Name}}</li>
    </ul>
</div>

PS в angular есть средства для отправки запросов. Вам не нужен тут jQuery.

Igor Golovin
  • 1,317