Dart Documentationangular.directiveNgBooleanAttributeDirective

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

new NgBooleanAttributeDirective(NodeAttrs attrs) #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
NgBooleanAttributeDirective(NodeAttrs this.attrs);

Properties

NodeAttrs attrs #

NodeAttrs attrs

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);