Как свернуть элемент после сохранения - это успех (Angular + ui.bootstrap)

0

Я новичок в Angular, я хочу свернуть элемент с сохранением кнопки внутри, после сохранения успеха. Вот мой код HTML,

<ul>
    <li ng-repeat="member in members">
       <select ng-model="member.role" ng-options="o as o for o in o" ng-change="isCollapse= false"></select>
       <div collapse="isCollapse">
           <button ng-click="saveMember(member)">Save</button>
           <button ng-click="isCollapse=true">Cancel</button>
       </div>
    </li>
</ul>

И вот мой контроллер,

myApp.controller('AccountController', function($scope, AccountService){
    $scope.isCollapse= true;
    $scope.saveMember = function(obj){
        AccountService.saveAccount(obj).success(function(data){
           if(data.status === 'success'){
             //I tried   $scope.isCollapse = true     but it didn't work.
           }
        });
    };
}

Я могу просто сделать это с помощью

<button ng-click="saveMember(member);isCollapse=true">Save</button>

но он будет свернут без проверки сохранения.

Спасибо за помощь :)

  • 0
    Привет @Hikaru, каков атрибут коллапса в твоем div? это угловая директива?
  • 0
    @AbhilashPA это директива angular-ui.github.io/bootstrap
Показать ещё 1 комментарий
Теги:
angular-ui-bootstrap
collapse

2 ответа

1

Поскольку вы используете обратный вызов успеха, я не вижу причины снова проверять статус. Я считаю, что код внутри оператора if не срабатывает, поэтому переменная isCollapse не изменяет значение.

Я бы попробовал

    AccountService.saveAccount(obj).success(function(data){
       $scope.isCollapse = true;
    });
0

Я нашел решение.

 <div collapse="isCollapse || saveSuccess==member.id"> <!--I filled || saveSuccess==member.id here-->

и в контроллере,

AccountService.saveAccount(obj).success(function(data){
   $scope.saveSuccess = obj.id;
});

Всем спасибо.

Ещё вопросы

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