首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角飞镖中的存取元件

角飞镖中的存取元件
EN

Stack Overflow用户
提问于 2019-05-05 21:55:46
回答 1查看 71关注 0票数 0

我有一个带有嵌套模态对话框的顶级元素<x-app>

代码语言:javascript
复制
<x-app>
  <material-content>
  ...
  </material-content>
  <x-alert-dialog></x-alert-dialog>
</x-app>

其中<x-alert-dialog>包含

代码语言:javascript
复制
<modal [visible]="dlgVisible" dialog-id="alert-dialog-modal">
  <material-dialog class="alert-dialog">
  ....
  </material-dialog>
</modal>

生成的HTML包含<x-app>和覆盖容器div,其中包含图像中的modals。

我需要的是访问<div pane-id="default-1"...>来更改z-index。我也不知道该怎么做。我不能在CSS中访问它,因为任何通过:host的引用都是不可能的。我试着用x-app组件编程访问它。我有过

代码语言:javascript
复制
class AppComponent implements AfterViewInit {

  @override
  void ngAfterViewInit() {
    var doc = getDocument();
    var alertDlg = doc.querySelector(".alert-dialog");
    var alertPane = alertDlg.parent;
  }
}

但是alertDlg总是空的。我也尝试过var alertDlg = querySelector(".alert-dialog");,有什么方法可以访问元素吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-06 05:17:09

我通过将*ngIf="dlgVisible"添加到<modal>标记来解决这个问题,所以现在

代码语言:javascript
复制
<modal *ngIf="dlgVisible" [visible]="dlgVisible" dialog-id="alert-dialog-modal">

这样,通过可见性标志将对话框注入DOM /从DOM中删除。我想要更改z索引的原因是为了获得警报和其他应用程序范围的对话框,而不是稍后在其他组件中创建的其他对话框。更改DOM解决了这个问题,因为对话框是在其他对话框之后插入的(因此显示在上面)。希望这能帮上忙。

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

https://stackoverflow.com/questions/55996761

复制
相关文章

相似问题

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