未添加到DOM时访问子元素我想创建一个选择框组件。简化组件:由于* ngIf
@Component({
moduleId: module.id,
selector: 'ng2-select',
template: `
<div class="container">
<div class="placeholder"></div>
<div class="options"
*ngIf="selectService.isSelectorVisible()"
[@animateState]="selectService.getSelectorAnimState()">
<ul>
<ng-content></ng-content>
</ul>
</div>
</div>
`
})
export class SelectComponent {}
@Component({
moduleId: module.id,
selector: 'ng2-option',
template: `
<li (click)="selectValue($event)"
[class.disabled]="disabled"
[class.active]="value == selectService.getSelectedValue()">
<div class="inner" #contentWrapper>
<ng-content></ng-content>
</div>
</li>
`
})
export class OptionComponent {}
我使用的组件,如:
<ng2-select placeholder="Select an option">
<ng2-option value="1">Option 1</ng2-option>
<ng2-option value="2" disabled="true">Option 2</ng2-option>
<ng2-option value="3" selected="true">Option 3</ng2-option>
<ng2-option value="4">Option 4</ng2-option>
<ng2-option value="5">Option 5</ng2-option>
</ng2-select>
我想在我的SelectComponent是该选项被选中的信息。问题在于,由于* ngIf,这些信息存储在组件的子项中,而不是添加到dom中。
我知道我可以这样做:选择选项,SelectComponent输入的
- 传递信息。
- 使用隐藏而不是* ngIf,并从ElementRef中找出它。
但我不想这样做。我想保持原样。有没有一种方法可以找出哪些ng2选项的属性选择设置为true,即使它没有添加到DOM?
请出示'* ngIf'在你的问题。 –
对不起,不知道我是如何错过的;)感谢您指出! – Baumi