Я новичок в 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>
но он будет свернут без проверки сохранения.
Спасибо за помощь :)
Поскольку вы используете обратный вызов успеха, я не вижу причины снова проверять статус. Я считаю, что код внутри оператора if
не срабатывает, поэтому переменная isCollapse
не изменяет значение.
Я бы попробовал
AccountService.saveAccount(obj).success(function(data){
$scope.isCollapse = true;
});
Я нашел решение.
<div collapse="isCollapse || saveSuccess==member.id"> <!--I filled || saveSuccess==member.id here-->
и в контроллере,
AccountService.saveAccount(obj).success(function(data){
$scope.saveSuccess = obj.id;
});
Всем спасибо.