NgBooleanAttributeDirective class
Allows adding and removing the boolean attributes from the element.
Using <button disabled="{{false}}">
does not work since it would result
in <button disabled="false">
rather than <button>
.
Browsers change behavior based on presence/absence of attribute rather the
its value.
For this reason we provide alternate ng-
attribute directives to
add/remove boolean attributes such as <button ng-disabled="{{false}}">
which will result in proper removal of the attribute.
The full list of supported attributes are:
ng-checked
ng-disabled
ng-multiple
ng-open
ng-readonly
ng-required
ng-selected
@NgDirective(selector: '[ng-checked]', map: const {'ng-checked': '=>checked'}) @NgDirective(selector: '[ng-disabled]', map: const {'ng-disabled': '=>disabled'}) @NgDirective(selector: '[ng-multiple]', map: const {'ng-multiple': '=>multiple'}) @NgDirective(selector: '[ng-open]', map: const {'ng-open': '=>open'}) @NgDirective(selector: '[ng-readonly]', map: const {'ng-readonly': '=>readonly'}) @NgDirective(selector: '[ng-required]', map: const {'ng-required': '=>required'}) @NgDirective(selector: '[ng-selected]', map: const {'ng-selected': '=>selected'}) class NgBooleanAttributeDirective { NodeAttrs attrs; NgBooleanAttributeDirective(NodeAttrs this.attrs); _setBooleanAttribute(name, value) => attrs[name] = (toBool(value) ? '' : null); set checked(value) => _setBooleanAttribute('checked', value); set disabled(value) => _setBooleanAttribute('disabled', value); set multiple(value) => _setBooleanAttribute('multiple', value); set open(value) => _setBooleanAttribute('open', value); set readonly(value) => _setBooleanAttribute('readonly', value); set required(value) => _setBooleanAttribute('required', value); set selected(value) => _setBooleanAttribute('selected', value); }
Constructors
Properties
dynamic set checked(value) #
set checked(value) => _setBooleanAttribute('checked', value);
dynamic set disabled(value) #
set disabled(value) => _setBooleanAttribute('disabled', value);
dynamic set multiple(value) #
set multiple(value) => _setBooleanAttribute('multiple', value);
dynamic set open(value) #
set open(value) => _setBooleanAttribute('open', value);
dynamic set readonly(value) #
set readonly(value) => _setBooleanAttribute('readonly', value);
dynamic set required(value) #
set required(value) => _setBooleanAttribute('required', value);
dynamic set selected(value) #
set selected(value) => _setBooleanAttribute('selected', value);