Win*_* Li 3 angular angular9 angular10
最近我在阅读 Nebular(一个 Angular ui 框架)的源码,我对以下代码有疑问:
@Component({
selector: '[nbMenuItem]',
templateUrl: './menu-item.component.html',
animations: [
...
],
})
export class NbMenuItemComponent implements DoCheck, AfterViewInit, OnDestroy {
@Input() menuItem = <NbMenuItem>null;
@Output() hoverItem = new EventEmitter<any>();
@Output() toggleSubMenu = new EventEmitter<any>();
@Output() selectItem = new EventEmitter<any>();
@Output() itemClick = new EventEmitter<any>();
Run Code Online (Sandbox Code Playgroud)
这应该是一个组件,它的使用方法如下:
@Component({
selector: 'nb-menu',
styleUrls: ['./menu.component.scss'],
template: `
<ul class="menu-items">
<ng-container *ngFor="let item of items">
<li nbMenuItem *ngIf="!item.hidden"
[menuItem]="item"
[class.menu-group]="item.group"
(hoverItem)="onHoverItem($event)"
(toggleSubMenu)="onToggleSubMenu($event)"
(selectItem)="onSelectItem($event)"
(itemClick)="onItemClick($event)"
class="menu-item">
</li>
</ng-container>
</ul>
`,
})
export class NbMenuComponent implements OnInit, AfterViewInit, OnDestroy {
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么nbMenuItem 可以用作指令,它是用@Component注解的,为什么?我在角度文档中没有找到任何与此相关的内容。
| 归档时间: |
|
| 查看次数: |
2542 次 |
| 最近记录: |