nl_tokens: inputs use the value attribute as their default value if the value property is not set . Once the value property has been set ( by adding input ) it will not react to changes to the value attribute anymore . Setting both attribute and property fixes this behavior and makes it possible to use ngValue as a sort of one - way bind .
pl_tokens: function updateElementValue ( element , attr , value ) { // Support: IE9 only // In IE9 values are converted to string (e.g. `input.value = null` results in `input.value === 'null'`). var propValue = isDefined ( <mask> ) ? value : ( msie === 9 ) ? '' : null ; element . prop ( 'value' , propValue ) ; attr . $set ( 'value' , value ) ; }