Как очистить список, если ответ ложный

0

HTML

<div ng-repeat="con in connectionArray"  ng-if="con.account_type=='user'">
    <p style="display:inline-block;width:160px;" class="con_name">
        <img class="teamImg" ng-src="{{ con.account_image }}">
        <span class="con_item">Profile: </span>
        <span class="con_user">{{ con.account_name }}</span>
    </p>
</div>

angularjs

yourteamService.listConnections(args).then(function(response) {
    if(!response.status){
        alert("No Connections");
    }else{
        $scope.connectionArray = response.accounts;
    }
    $scope.getListTeams = false;
}, 
function(response) {
});

Здесь я могу перечислить соединения, используя $ scope.connectionArray. Мне нужно очистить список соединений, когда ответ ложный. Как это сделать.

Теги:
multidimensional-array
angularjs-scope
angularjs-directive

2 ответа

0

Ng-repeat создает множество слушателей повсюду на вашей странице. Поэтому, если ваш массив принимает значение [], Angular поймает его и перезагрузит вашу страницу немедленно. Просто, если вы позволите мне дать вам совет: попробуйте использовать ng-show вместо ng-if. ng-if показывает ваш HTML-элемент, если утверждение истинно (то же, что и ng-show). Но ng-show загружает элемент. Ng - если нет. Это может помешать вам некоторые ошибки, о которых трудно было бы узнать позже.

0

Как сказал @Jax, вы должны:

if(!response.status){
    alert("No Connections");
    $scope.connectionArray = [];
}

Также я предлагаю вам использовать .success() и .error() вместо .then(), предполагая, что вы вызываете API в своей службе. Таким образом, вы можете избавиться от проблем с обработкой ответа HTTP.

Надеюсь это поможет!

Вот полезная ссылка, которую я нашел: http://www.peterbe.com/plog/promises-with- $ http

Ещё вопросы

Сообщество Overcoder
Наверх
Меню