如何动态隐藏/显示离子弹出按钮

时间:2016-01-08 03:34:30

标签: ionic-framework ionicpopup

我正在进行我的第一个大型离子项目并被卡住了。有人知道如何在离子弹出窗口中动态隐藏和显示按钮吗?我需要按钮最初被隐藏,但是一旦发生某些事情,按钮应该显示出来。知道怎么做到这一点?

尝试进一步解释,这里需要的是在$ ionicPopup按钮内提供角度指令。例如

 buttons: [{
            text: 'Cancel'
        }, {
            text: '<b ng-disabled="user.length<1">Delete</b>',
            type: 'button-crimson'
    }]

但是,当弹出窗口时, ng-disabled =“user.length&lt; 1”会被修剪。

3 个答案:

答案 0 :(得分: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';

答案 1 :(得分:0)

我的解决方法是将动态按钮放在弹出窗口的模板中而不是按钮数组中。这不是理想的,但它会起作用。

例如:

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 /等东西。缺点是这些按钮不会出现在阵列中的那些按钮的底部,但是通过一些样式工作,你可以让它看起来很漂亮。

答案 2 :(得分:-1)

使用$ scope变量和ng-hide / ng-show

应该很容易
function something_happens(){
  $scope.it_happened = true;
}

<button ng-show="it_happened">Qlik Me</button>

该按钮仅在$ scope.it_happened == true

时显示