我是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 :(得分:1)
由于您正在使用成功回调,因此我没有看到再次检查状态的原因。我相信if
语句中的代码不会触发,因此isCollapse
变量不会更改值。
我会尝试的是
AccountService.saveAccount(obj).success(function(data){
$scope.isCollapse = true;
});
答案 1 :(得分:0)
我找到了解决方案。
<div collapse="isCollapse || saveSuccess==member.id"> <!--I filled || saveSuccess==member.id here-->
并在控制器中,
AccountService.saveAccount(obj).success(function(data){
$scope.saveSuccess = obj.id;
});
谢谢大家。