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
This commit is contained in:
Igor Minar 2013-10-11 12:58:57 -07:00
parent 4357da8575
commit b7af76b4c5
4 changed files with 5 additions and 5 deletions

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {