指令中的ng-disabled不起作用

时间:2018-02-15 13:43:43

标签: javascript html angularjs angularjs-directive

我们有一个带有以下模板的按钮指令

<input value="@Labels.delete" type="button" id="btnDelete" class="btn btn-danger pull-right" ng-click="click()" 
ng-disabled="disableAction" />

和指令的代码

restrict: 'E',
            transclude: true,
            replace: true,
            scope: {
                title: '@',
                message: '@',
               
                delete: '&',                
                disableAction: '='
            },

我们正在使用它的形式:

<data-delete:button title="@Labels.deleteRanges"
                                    message="@String.Format(Messages.confirmDelete, String.Format(Labels.rangeX,""))"
                                    disable-action="disableAction"
                                    ng-show="sessionsSelected && weekdaysSelected"
                                    delete="deleteRanges()"></data-delete:button>

我添加了ng-show绝望,因为我无法使禁用正常工作:(我尝试了disable-action =“!sessionsSelected&amp;&amp;!weekdaysSelected”并且它不起作用。该按钮始终启用

如何根据其他控制器的范围属性有条件地禁用按钮?

1 个答案:

答案 0 :(得分:0)

很高兴我问,因为我发布后立刻意识到自己在逻辑条件中的错误(不是我做的第一个)。正常工作的条件是:

disable-action="disableAction || !sessionsSelected || !weekdaysSelected"