ng repeat не отображать контент - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть основная проблема, хотя я не понимаю, почему она не работает:

<article id="desktop">
    <h3>Content: </h3>
    <ul>
        <li ng-repeat="x in storage">
            name: {{x.name}}
        </li>
    </ul>
</article>

и мой угловой:

$scope.storage = [];    
...

$scope.showDesktop = function(){        
$http.get("/getDesktop").then(function(response){
    for(var i = 0; i<response.data.length; i++){
        $scope.storage.push({
            name: response.data[i]
        });
    }
    console.log($scope.storage);
    return;
});        
}

Должна быть синтаксическая ошибка, но я не могу понять, где она. Я уже посмотрел документацию и скопировал синтаксис ng-repeat, но он все равно не работает.

Console.log показывает только правильное содержимое.

Мой контроллер Spring выглядит так:

    //Returns Desktop
@GetMapping("/getDesktop")
public ArrayList<String> getDesktop() throws Exception {
    ArrayList<String> itemNames = new ArrayList<>();

    if(kdxF.getLogged() && kdxF.getUser() != null) {
        itemNames = kdxF.showDesktop();
    }else {
        throw new Exception("Not logged in!");
    }   

    return itemNames;
}

1 Ответ

0 голосов
/ 08 ноября 2018

Вам необходимо определить область действия переменной, чтобы получить доступ к ней из HTML

var storage = []; //It is a private declaration and html has no access to it

Преобразуйте его с $scope.storage = [];, и тогда ng-repeat получит к нему доступ.

Также не забудьте изменить переменную в api

$http.get("/getDesktop").then(function(response){
    for(var i = 0; i<response.data.length; i++){
        $scope.storage.push({
            name: response.data[i]
        });
    }
    console.log($scope.storage);
    return;
}, function (err){
    //log the error callback
    console.log(err);
});  

Отредактировано: Одна из возможных проблем может быть связана с последовательностью отслеживания ng-repeat. Для этого мы используем ng-repeat="x in storage track by $index"

Убедитесь, что вы регистрируете ответ об ошибке в вызовах API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...