fix(ng-content): wildcard ng-content has to go last.
This was the case before the new compiler landed and should be preserved. Related to #4598 Closes #5016
This commit is contained in:
parent
d1b54d6807
commit
39626a944d
@ -655,12 +655,12 @@ class Component {
|
|||||||
|
|
||||||
findNgContentIndex(selector: CssSelector): number {
|
findNgContentIndex(selector: CssSelector): number {
|
||||||
var ngContentIndices = [];
|
var ngContentIndices = [];
|
||||||
if (isPresent(this.wildcardNgContentIndex)) {
|
|
||||||
ngContentIndices.push(this.wildcardNgContentIndex);
|
|
||||||
}
|
|
||||||
this.ngContentIndexMatcher.match(
|
this.ngContentIndexMatcher.match(
|
||||||
selector, (selector, ngContentIndex) => { ngContentIndices.push(ngContentIndex); });
|
selector, (selector, ngContentIndex) => { ngContentIndices.push(ngContentIndex); });
|
||||||
ListWrapper.sort(ngContentIndices);
|
ListWrapper.sort(ngContentIndices);
|
||||||
|
if (isPresent(this.wildcardNgContentIndex)) {
|
||||||
|
ngContentIndices.push(this.wildcardNgContentIndex);
|
||||||
|
}
|
||||||
return ngContentIndices.length > 0 ? ngContentIndices[0] : null;
|
return ngContentIndices.length > 0 ? ngContentIndices[0] : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -754,6 +754,12 @@ There is no directive with "exportAs" set to "dirA" at TestComp > div:nth-child(
|
|||||||
.toEqual([['div', null], ['#text(hello)', 2], ['b', 1], ['a', 0]]);
|
.toEqual([['div', null], ['#text(hello)', 2], ['b', 1], ['a', 0]]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should project into wildcard ng-content last', () => {
|
||||||
|
expect(humanizeContentProjection(
|
||||||
|
parse('<div>hello<a></a></div>', [createComp('div', ['*', 'a'])])))
|
||||||
|
.toEqual([['div', null], ['#text(hello)', 0], ['a', 1]]);
|
||||||
|
});
|
||||||
|
|
||||||
it('should only project direct child nodes', () => {
|
it('should only project direct child nodes', () => {
|
||||||
expect(humanizeContentProjection(
|
expect(humanizeContentProjection(
|
||||||
parse('<div><span><a></a></span><a></a></div>', [createComp('div', ['a'])])))
|
parse('<div><span><a></a></span><a></a></div>', [createComp('div', ['a'])])))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user