我将以下表达式包装到范围函数中,以使用angularJS ng-disabled指令禁用视图中的添加按钮:
$scope.disableAddButton = function() {
return (!(currentObjCopy.name || currentObjCopy.name.trim() || currentObjCopy.numAttachments) &&
(mac.input != 'static' || currentObjCopy.name.trim() == '')) ||
!(selectedRow && currentObjCopy) ||
((mac.input != 'random' && !staticMacTemp.length) && !currentObjCopy.startMac));
}
是否有任何其他替代方法可以优化此表达式以传递给 ng-disable,如下所示:
<button type="button" class="px-Button px-Block-Element" ng-click='addLocal()'
ng-disabled="!disableAddButton()">Add</button>
将表达式直接传递给指令时工作正常但作为函数传递,即使表达式为假,也不会禁用按钮。
请忽略 Js 变量/对象,因为它们可能未定义或为空或为空