首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我有多个菜单,是否以编程方式切换菜单?

如果我有多个菜单,是否以编程方式切换菜单?
EN

Stack Overflow用户
提问于 2016-12-24 13:34:35
回答 1查看 3.8K关注 0票数 5

如果我的模板中有两个菜单组件,如下所示

代码语言:javascript
复制
<button md-icon-button [md-menu-trigger-for]="menu">
    <md-icon>more_vert</md-icon>
</button>
<md-menu #menu="mdMenu">
  <button md-menu-item>Refresh</button>
  <button md-menu-item>Settings</button>
  <button md-menu-item>Help</button>
  <button md-menu-item disabled>Sign Out</button>
</md-menu>

<button md-icon-button [md-menu-trigger-for]="menu1">
    <md-icon>more_vert</md-icon>
</button>
<md-menu #menu1="mdMenu">
  <button md-menu-item>Refresh</button>
  <button md-menu-item>Settings</button>
  <button md-menu-item>Help</button>
  <button md-menu-item disabled>Sign Out</button>
</md-menu>

如何编程切换第二个菜单组件?通常情况下,如果模板中只有一个菜单组件,我们可以使用以下内容:@ViewChild(MdMenuTrigger)。是否可以通过在@ViewChild中指定组件名来查找nth菜单组件并以编程方式打开菜单?

EN

回答 1

Stack Overflow用户

发布于 2017-01-20 04:36:24

首先,需要将AfterViewInit连接到组件上。

class YourComponent implements AfterViewInit {

然后您可以使用@ViewChildren来实现这一点。

代码语言:javascript
复制
@ViewChildren(MdMenuTrigger) triggers: QueryList<MdMenuTrigger>; 
// use ViewChildren to get a list of menu element

ngAfterViewInit() {

  // inside ngAfterViewInit lifecycle
  // you get the triggers

  this.triggers.forEach((item)=>{
    item.openMenu();
  });

}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41313739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档