From b7af76b4c5aa77648cc1bfd49935b48583419023 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 11 Oct 2013 12:58:57 -0700 Subject: [PATCH] fix(directives): correct priority of structural directives BREAKING CHANGE: the priority of ngRepeat, ngSwitchWhen, ngIf, ngInclude and ngView has changed. This could affect directives that explicitly specify their priority. In order to make ngRepeat, ngSwitchWhen, ngIf, ngInclude and ngView work together in all common scenarios their directives are being adjusted to achieve the following precendence: Directive | Old Priority | New Priority ============================================= ngRepeat | 1000 | 1000 --------------------------------------------- ngSwitchWhen | 500 | 800 --------------------------------------------- ngIf | 1000 | 600 --------------------------------------------- ngInclude/ngView | 1000 | 400 --- src/ng/directive/ngIf.js | 2 +- src/ng/directive/ngInclude.js | 2 +- src/ng/directive/ngSwitch.js | 4 ++-- src/ngRoute/directive/ngView.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ng/directive/ngIf.js b/src/ng/directive/ngIf.js index 005dda8ef3a3..2212e7622979 100755 --- a/src/ng/directive/ngIf.js +++ b/src/ng/directive/ngIf.js @@ -80,7 +80,7 @@ var ngIfDirective = ['$animate', function($animate) { return { transclude: 'element', - priority: 1000, + priority: 600, terminal: true, restrict: 'A', compile: function (element, attr, transclude) { diff --git a/src/ng/directive/ngInclude.js b/src/ng/directive/ngInclude.js index 450677e18adb..b2ebeda97175 100644 --- a/src/ng/directive/ngInclude.js +++ b/src/ng/directive/ngInclude.js @@ -152,7 +152,7 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile' function($http, $templateCache, $anchorScroll, $compile, $animate, $sce) { return { restrict: 'ECA', - priority: 1000, + priority: 400, terminal: true, transclude: 'element', compile: function(element, attr, transclusion) { diff --git a/src/ng/directive/ngSwitch.js b/src/ng/directive/ngSwitch.js index 34f571cea906..8087390a5b04 100644 --- a/src/ng/directive/ngSwitch.js +++ b/src/ng/directive/ngSwitch.js @@ -165,7 +165,7 @@ var ngSwitchDirective = ['$animate', function($animate) { var ngSwitchWhenDirective = ngDirective({ transclude: 'element', - priority: 500, + priority: 800, require: '^ngSwitch', compile: function(element, attrs, transclude) { return function(scope, element, attr, ctrl) { @@ -177,7 +177,7 @@ var ngSwitchWhenDirective = ngDirective({ var ngSwitchDefaultDirective = ngDirective({ transclude: 'element', - priority: 500, + priority: 800, require: '^ngSwitch', compile: function(element, attrs, transclude) { return function(scope, element, attr, ctrl) { diff --git a/src/ngRoute/directive/ngView.js b/src/ngRoute/directive/ngView.js index 27357962a021..b031281d6742 100644 --- a/src/ngRoute/directive/ngView.js +++ b/src/ngRoute/directive/ngView.js @@ -176,7 +176,7 @@ function ngViewFactory( $route, $anchorScroll, $compile, $controller, return { restrict: 'ECA', terminal: true, - priority: 1000, + priority: 400, transclude: 'element', compile: function(element, attr, linker) { return function(scope, $element, attr) {