Ошибка для привязки значений данных в html.index с AngularJS - PullRequest
0 голосов
/ 21 января 2019

Я использую AngularJS, и я не могу заполнить данные в index.view с помощью ng-repeat of angular.

Я оставлю фрагмент кода для любой помощи.

Помните, у меня есть статус запросов http 200 в порядке, просто когда я подключаю данные на экране, я не могу заполнить.

registerController.js

angular.module('Application').controller('registerController', 
function($scope,            
$http, registerService) {
$scope.registerUser = {};    
$scope.GetAllRegisters = function () {

    var registerServiceCall = registerService.GetRegisters();

    registerServiceCall.then(function (results) {
        $scope.registers = results.data;

    }, function (error) {
        $log.error('ERRO');
    });
};


$scope.GetAllRegisters();

});

Мой сервис.js

angular.module('Application').factory('registerService', function ($http) {
return {
    GetRegisters: function () {
        return $http({
            method: 'Get',
            url: "http://localhost:51734/api/UserAPI"
        })
    },
};

});

И мой index.html

 <div class="row" style="">
    <table class="table table-striped" style="">
        <tbody>

            <tr>
                <th style="display:none">Id</th>
                <th>Nome</th>
                <th>Sobrenome</th>
                <th>Ativo</th>
                <th>Email</th>
                <th>Editar</th>
                <th>Remover</th>
            </tr>

            <tr ng-repeat="registerUser in registers" style="word-wrap: break-word;">
                <td style="display:none">{{registerUser.UserId}}</td>
                <td>{{registerUser.Name}}</td>
                <td>{{registerUser.LastName}}</td>
                <td><input type="checkbox" ng-model="registerUser.IsActive" disabled /></td>
                <td>{{registerUser.Email}}</td>
                <td>
                    <a href="" ng-click="" class="glyphicon glyphicon-edit"></a>
                <td>
                    <a href="" ng-click="" class="glyphicon glyphicon-trash"></a>
                </td>


            </tr>
        </tbody>
    </table>

Буду признателен за любую помощь или совет. Спасибо

1 Ответ

0 голосов
/ 21 января 2019

Что такое $ scope.registers после загрузки страницы?

В нынешнем виде ваша таблица не будет правильно отображаться, потому что вы не можете использовать ng-repeat для tr, потому что он будет вставлен как элемент уровня блока, который взорвет вашу таблицу. Тем не менее, данные все равно должны быть вставлены над таблицей. Вам придется вызвать ng-repeat для пользовательской директивы, чтобы правильно отобразить таблицу. Примерно так:

 <register-user-row ng-repeat="registerUser in registers"><register-user-row>

Тогда в директиве:

angular.module('Application').directive('regusterUserRow', function() {
  return {
    templateUrl: "directive path here",
    restrict: "E",
    scope: true
  }
})

И html директивы:

<tr style="word-wrap: break-word;">
  <td style="display:none">{{registerUser.UserId}}</td>
  <td>{{registerUser.Name}}</td>
  <td>{{registerUser.LastName}}</td>
  <td><input type="checkbox" ng-model="registerUser.IsActive" disabled /></td>
  <td>{{registerUser.Email}}</td>
  <td>
    <a href="" ng-click="" class="glyphicon glyphicon-edit"></a>
  </td>
  <td>
    <a href="" ng-click="" class="glyphicon glyphicon-trash"></a>
  </td>
</tr>

Примечание. Вы также пропустили закрытие после первой ссылки в.

...