Список ng-repeat в AngularJS не обновляется, когда вызов ajax меняет свое значение

Я полностью сбит с толку. Почему мой ng-repeat не обновляется, когда ajax-вызов меняет свое значение? Я видел много вопросов и ответов здесь, но никто из них не говорил о вызове ajax.

HTML:

<div class="row" ng-controller="EntryCtrl">
    <div id="treeview" class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
        <ul>
            <li ng-repeat="root in rootEntry">{{root.Name}}</li>
        </ul>
    </div>
</div>

JS:

function EntryCtrl ($scope, $http) {
    $scope.rootEntry = [];
    $http.get('read/root').success(function(root) {
        $scope.rootEntry = root;
        console.log($scope.rootEntry);
    });
}

И консоль записала массив, который вернул сервер. Но список в HTML никогда не обновлялся. Если бы я использовал$scope.$apply, ошибка относительно$digest может случиться.

Консольный выход

[Object]
    0: Object
        Attributes: null
        Id: "534580464aac494e24000001"
        Name: "Registry"
        Path: ""
        __proto__: Object
        length: 1
    __proto__: Array[0]

Так что это структураroot сервер возвращается. Будет ли это проблема типа данных? Потому что этоObject скорее, чемArray, Я использую Golang в качестве сервера и используюjson.Marshal() упаковать данные из MongoDB.

Обновить

function EntryCtrl ($scope, $http) {
    $scope.rootEntry = [];
    $http.get('read/root').success(function(root) {
        $scope.rootEntry = root;
        console.log($scope.rootEntry);
    });
    console.log($scope.rootEntry);
}

Последний вывод[], Это вероятно из-за асинхронности $ http, так будет ли это причиной?

окончательный

Я знаю почему. Я использовал плагин под названиемjsTree, который будет делать некоторые украшения с узлом, поэтому вставленный мною узел будет перезаписан.

Спасибо вам всем.

Ответы на вопрос(1)

Ваш ответ на вопрос