我正在进行我的第一个大型离子项目,并且陷入了困境。有人知道如何在离子弹出窗口中动态隐藏和显示按钮吗?我最初需要隐藏按钮,但在发生某些事情后,按钮应该会显示出来。知道怎么做吗?
为了进一步解释,这里需要的是在$ionicPopup按钮内部提供角度指令。例如
buttons: [{
text: 'Cancel'
}, {
text: '<b ng-disabled="user.length<1">Delete</b>',
type: 'button-crimson'
}]
但是ng-disabled="user.length<1"在渲染弹出窗口时会被修剪。
如果您仍在寻找答案。。。
我为我的按钮阵列创建了一个变量
var buttons = [{...}, {...}]
然后将其分配给弹出中的对象
$ionicPopup.show({
templateUrl: 'templates/pop-up.html',
title: 'My Popup',
subTitle: 'stuff,
scope: $scope,
**buttons: buttons,**
然后会改变阵列
buttons.splice(0, 1, {/*new button*/})
我还没有测试过它,但如果你想编辑标题或类,它也可以工作
buttons[0].type = 'newCssClass';
我的工作是将动态按钮放在弹出窗口的模板中,而不是按钮数组中。这并不理想,但它会起作用的。
例如:
addPopup = $ionicPopup.show({
templateUrl: 'templates/pop-up.html',
title: 'My Popup',
subTitle: 'stuff,
scope: $scope,
buttons: [{
text: 'Cancel',
然后在pop-up.html中,你可以像往常一样做你通常的角度ng-if/ng-hide/ng-disabled/etc之类的事情。缺点是这些按钮不会出现在数组中按钮所在的底部,但通过一些造型工作,你可以让它看起来仍然很好看。
使用$scope变量和ng隐藏/ng显示应该很容易
function something_happens(){
$scope.it_happened = true;
}
<button ng-show="it_happened">Qlik Me</button>
只有当$scope.it_happened==true