Angular2创建不同版本的指令

时间:2018-04-17 20:23:28

标签: angular

@Directive({
  selector: '[appSidebarMinimizer]'
})
export class SidebarMinimizeDirective {
  constructor() { }

  @HostListener('click', ['$event'])
  toggleOpen($event: any) {
    $event.preventDefault();
    document.querySelector('body').classList.toggle('sidebar-minimized');
  }
}

上述指令切换侧边栏并将其最小化或显示。现在,侧边栏默认打开,但是如果我想在某些页面上关闭侧边栏,我是否必须创建一个看起来与此类似的指令并包含我的代码以使侧边栏默认关闭?

我的component.html

<button class="sidebar-minimizer" type="button" appSidebarMinimizer></button>

1 个答案:

答案 0 :(得分:0)

您可以使用输入按需更改逻辑。您可以在此处找到有关此内容的更多信息:https://angular.io/guide/attribute-directives#pass-values-into-the-directive-with-an-input-data-binding