From 62958e54e2b1db05a39e2358c7508294bc0f437e Mon Sep 17 00:00:00 2001 From: "bigopon.777@gmail.com" Date: Fri, 24 May 2019 11:56:36 +1000 Subject: [PATCH] fix(repeat): ensure backward compat, fix tests --- src/repeat.ts | 51 ++++++++++++++++++++++------------- test/repeat.issue-378.spec.ts | 45 ++++++++++++++++++++++--------- 2 files changed, 65 insertions(+), 31 deletions(-) diff --git a/src/repeat.ts b/src/repeat.ts index 97c5423..6ca555b 100644 --- a/src/repeat.ts +++ b/src/repeat.ts @@ -29,6 +29,9 @@ import {AbstractRepeater} from './abstract-repeater'; @templateController @inject(BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ObserverLocator, RepeatStrategyLocator) export class Repeat extends AbstractRepeater { + + static useInnerMatcher = true; + /** * List of items to bind the repeater to. * @@ -269,7 +272,9 @@ export class Repeat extends AbstractRepeater { if (viewFactory) { const template = viewFactory.template; const instructions = viewFactory.instructions; - const instructionIds = Object.keys(instructions); + if (Repeat.useInnerMatcher) { + return extractMatcherBindingExpression(instructions); + } // if the template has more than 1 immediate child element // it's a repeat put on a