点击此处查看我的代码: http://plnkr.co/edit/Z7QI9Ec53zfkDylnseAc?p=preview
HTML:
$scope.save = function(item){
$scope.mods = item;
$scope.albumNameArray = [];
angular.forEach($scope.albums, function(album){
if (album.selected) $scope.albumNameArray.push(album.name);
return false;
});
};
$scope.edit = function(){
if ($scope.albumNameArray ) {
$('#showModal').modal('show');
} else {
$('#showModal2').modal('show');
}
}
脚本:
View.OnClickListener handleOnClick(ToggleButton mButton, boolean mBoolean) {
return new View.OnClickListener() {
public void onClick(View v) {
mBoolean = !mBoolean;
updateUi(mButton, mBoolean);
}
};
}
如果单击保存按钮而不选中复选框,我的项目工作正常但是如果我检查然后取消选中它,则会出现相同的模态。 这仅在首次重新加载时才能正常工作。 我想做的是,如果我选中复选框,ok模式将显示其他一个模态将显示而不重新加载
答案 0 :(得分:0)
仅在首次重新加载时才能正常工作。
它第一次工作的原因是因为$scope.albumNameArray
数组未定义,直到第一次调用$scope.save
。
您应该在调用$scope.save
之前初始化一个空数组,然后在length
语句中检查数组的if
属性。
以前,您只是检查是否已定义$scope.albumNameArray
,即使数组为空也会返回true(这就是为什么需要检查length
属性以确定数组是否包含任何数组值)。
$scope.edit = function(){
if ($scope.albumNameArray.length) {
$('#showModal').modal('show');
} else {
$('#showModal2').modal('show');
}
}