diff options
Diffstat (limited to 'src/ng/directive/ngRepeat.js')
| -rw-r--r-- | src/ng/directive/ngRepeat.js | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/src/ng/directive/ngRepeat.js b/src/ng/directive/ngRepeat.js index 50be2a61..16a810ef 100644 --- a/src/ng/directive/ngRepeat.js +++ b/src/ng/directive/ngRepeat.js @@ -218,7 +218,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {        return function($scope, $element, $attr){          var expression = $attr.ngRepeat;          var match = expression.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/), -          trackByExp, trackByExpGetter, trackByIdFn, trackByIdArrayFn, trackByIdObjFn, lhs, rhs, valueIdentifier, keyIdentifier, +          trackByExp, trackByExpGetter, trackByIdExpFn, trackByIdArrayFn, trackByIdObjFn, +          lhs, rhs, valueIdentifier, keyIdentifier,            hashFnLocals = {$id: hashKey};          if (!match) { @@ -232,7 +233,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {          if (trackByExp) {            trackByExpGetter = $parse(trackByExp); -          trackByIdFn = function(key, value, index) { +          trackByIdExpFn = function(key, value, index) {              // assign key, value, and $index to the locals so that they can be used in hash functions              if (keyIdentifier) hashFnLocals[keyIdentifier] = key;              hashFnLocals[valueIdentifier] = value; @@ -275,6 +276,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {                childScope,                key, value, // key/value of iteration                trackById, +              trackByIdFn,                collectionKeys,                block,       // last object information {scope, element, id}                nextBlockOrder = []; @@ -282,9 +284,9 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {            if (isArrayLike(collection)) {              collectionKeys = collection; -            trackByIdFn = trackByIdFn || trackByIdArrayFn; +            trackByIdFn = trackByIdExpFn || trackByIdArrayFn;            } else { -            trackByIdFn = trackByIdFn || trackByIdObjFn; +            trackByIdFn = trackByIdExpFn || trackByIdObjFn;              // if object, extract keys, sort them and use to determine order of iteration over obj props              collectionKeys = [];              for (key in collection) {  | 
