我在不使用 ng-disabled 和 ng-click 的情况下如何解决实现按钮刷新(启用/禁用)的问题
我已向我的指令发送以下配置(一个或多个按钮)
buttonsConfig() {
var button1 = {
icon: '<i class="fa fa-check"></i>',
name: button,
actionEvent: () => { this.openConfirm(); },
order: 1,
active: false,
large: true
}
}
这是我如何动态制作 HTML 并检查禁用/启用按钮的配置文件
link: ng.IDirectiveLinkFn = ($scope: IActionBarScope, $element: ng.IAugmentedJQuery, $attrs: ng.IAttributes) => {
var navbar = this.drawActionBar($scope.config);
var padder = angular.element('<div id="padder" ng-if="action.isOpen"></div>');
this.$compile(navbar)($scope);
this.$compile(padder)($scope);
$element.append(navbar, padder);
}
setupButtonActions(element: ng.IAugmentedJQuery, config) {
if (config.actionEvent != null) {
if (config.active === false) { //skip undefined or true
element.addClass("disabled");
} else {
element.removeClass("disabled");
element.mouseup(config.actionEvent);
}
}
}
在我的指令中,我在动态 HTML 网格 (CSS) 上生成 html 按钮(小/大),所以我不知道如何绑定该按钮启用/禁用。
在使用我的指令之前,我使用了:
<button ng-if="!ctrl.isReadOnly" type="submit" class="btn btn-flat btn-primary" ng-disabled="!ctrl.selectedAreReady()" ng-click="ctrl.openConfirm()"><i class="fa fa-check"></i> {{'button' | translate}}</button>
这一切都是在 html 中静态完成的,没有编码,所以我通过ng-disabled=ctrl.selectedAreReady() 发送按钮是否启用。