2
我想从视图(或内容)中按照它们在模板中指定的顺序获取一些指令。按顺序获取不同指令的数组
尝试1 [plunker]
@Directive({selector: 'dir-1'}) class Dir1 {}
@Directive({selector: 'dir-2'}) class Dir2 {}
@Directive({selector: 'dir-3'}) class Dir3 {}
@Component({
selector: 'my-app',
template: `
<dir-1></dir-1>
<dir-2></dir-2>
<dir-3></dir-3>
`,
})
export class App {
@ViewChildren(Dir1) dir1s;
@ViewChildren(Dir2) dir2s;
@ViewChildren(Dir3) dir3s;
ngAfterViewInit() {
console.log(this.dir1s, this.dir2s, this.dir3s);
}
}
通过简单地使用不同的指令,我失去它们的顺序。
尝试2 [plunker]
@Directive({selector: 'general'}) class General {}
@Directive({selector: '[specific-1]'}) class Specific1 {}
@Directive({selector: '[specific-2]'}) class Specific2 {}
@Directive({selector: '[specific-3]'}) class Specific3 {}
@Component({
selector: 'my-app',
template: `
<general specific-1></general>
<general specific-2></general>
<general specific-3></general>
`,
})
export class App {
@ViewChildren(General) generals;
ngAfterViewInit() {
console.log(this.generals);
}
}
通过具有 “一般” 选择器,我不再知道该指令的类型。
你想'Specific1,Specific2,Specific3'? – yurzui
是的,我想让结果数组以正确的顺序包含特定类型的对象。 –