Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

fix($compile): attribute bindings should not break due to terminal directives #4649

Closed
wants to merge 1 commit into from

Commits on Oct 25, 2013

  1. fix($compile): attribute bindings should not break due to terminal di…

    …rectives
    
    Recently we changed the priority of attribute interpolation directive to -100
    to ensure that it executes early in the post linking phase. This causes issues
    with when terminal directives are placed on elements with attribute bindings
    because the terminal directive will usually have 0 or higher priority which
    results in attr interpolation directive not being applied to the element.
    
    To fix this issue I'm switching the priority back to 100 and making moving the
    binding setup into the pre-linking function.
    
    This means that:
    
    - terminal directives with priority lower than 100 will not affect the attribute
      binding
    - if a directive wants to add or alter bindings it can do so in the pre-linking
      phase, as long as the priority of this directive is more than 100
    - all post-linking functions will execute after the attribute binding has been
      set up
    - all pre-linking functions with directive priority lower than 100 will execute
      after the attribute bindings have been setup
    
    BREAKING CHANGE: the attribute interpolation (binding) executes as a directive
    with priority 100 and the binding is set up in the pre-linking phase. It used
    to be that the priority was -100 in rc.2 (100 before rc.2) and that the binding
    was setup in the post-linking phase.
    
    Closes angular#4525
    Closes angular#4528
    Closes angular#4649
    IgorMinar committed Oct 25, 2013
    Configuration menu
    Copy the full SHA
    79223ea View commit details
    Browse the repository at this point in the history