@@ -297,39 +297,28 @@ class TemplateParseVisitor implements HtmlAstVisitor {
297297 preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this ,
298298 element.children,
299299 Component .create (directives));
300- // Override the actual selector when the `ngProjectAs` attribute is provided
301- var projectionSelector = isPresent (preparsedElement.projectAs)
302- ? CssSelector .parse (preparsedElement.projectAs)[0 ]
303- : elementCssSelector;
304- var ngContentIndex = component.findNgContentIndex (projectionSelector);
300+ var elementNgContentIndex = hasInlineTemplates
301+ ? null
302+ : component.findNgContentIndex (elementCssSelector);
305303 var parsedElement;
306304 if (identical (preparsedElement.type, PreparsedElementType .NG_CONTENT )) {
307305 if (isPresent (element.children) && element.children.length > 0 ) {
308306 this ._reportError (
309307 '''<ng-content> element cannot have content. <ng-content> must be immediately followed by </ng-content>''' ,
310308 element.sourceSpan);
311309 }
312- parsedElement = new NgContentAst (this .ngContentCount ++ ,
313- hasInlineTemplates ? null : ngContentIndex , element.sourceSpan);
310+ parsedElement = new NgContentAst (
311+ this .ngContentCount ++ , elementNgContentIndex , element.sourceSpan);
314312 } else if (isTemplateElement) {
315313 this ._assertAllEventsPublishedByDirectives (directives, events);
316314 this ._assertNoComponentsNorElementBindingsOnTemplate (
317315 directives, elementProps, element.sourceSpan);
318- parsedElement = new EmbeddedTemplateAst (
319- attrs,
320- events,
321- vars,
322- directives,
323- children,
324- hasInlineTemplates ? null : ngContentIndex,
325- element.sourceSpan);
316+ parsedElement = new EmbeddedTemplateAst (attrs, events, vars, directives,
317+ children, elementNgContentIndex, element.sourceSpan);
326318 } else {
327319 this ._assertOnlyOneComponent (directives, element.sourceSpan);
328320 var elementExportAsVars =
329321 vars.where ((varAst) => identical (varAst.value.length, 0 )).toList ();
330- var ngContentIndex = hasInlineTemplates
331- ? null
332- : component.findNgContentIndex (projectionSelector);
333322 parsedElement = new ElementAst (
334323 nodeName,
335324 attrs,
@@ -338,7 +327,7 @@ class TemplateParseVisitor implements HtmlAstVisitor {
338327 elementExportAsVars,
339328 directives,
340329 children,
341- hasInlineTemplates ? null : ngContentIndex ,
330+ elementNgContentIndex ,
342331 element.sourceSpan);
343332 }
344333 if (hasInlineTemplates) {
@@ -361,7 +350,7 @@ class TemplateParseVisitor implements HtmlAstVisitor {
361350 templateVars,
362351 templateDirectives,
363352 [parsedElement],
364- ngContentIndex ,
353+ component. findNgContentIndex (templateCssSelector) ,
365354 element.sourceSpan);
366355 }
367356 return parsedElement;
0 commit comments