调用函数时全局显示 HTML

Posted

技术标签:

【中文标题】调用函数时全局显示 HTML【英文标题】:Display HTML globally when function is called 【发布时间】:2018-04-12 18:08:50 【问题描述】:

我正在尝试创建一个通知框架,它可以捕获错误并在遇到错误或我需要抛出信息/警告/成功消息时显示弹出窗口。 我的问题是当我调用组件以显示它没有出现的通知时。我相信这是因为我对 html 的了解有限。 我想知道如何在组件的其余 html 之上显示通知。

我也为此使用 ngx Bootstraps Alerts。该组件是从服务调用的,一切正常,直到我必须显示通知

通知 HTML:

<div class="shared-notification" style="position:absolute; top:40px;">
<alert [type]='type' [dismissOnTimeout] = 'timeOut' [dismissible]="dismissible">
     message 
</alert>
</div>

通知组件类:

export class SharedNotificationComponent implements OnInit 

  type: string;
  message: string;
  dismissible: boolean;
  unrecoverable = null;
  timeOut: number;

  constructor()  

  ngOnInit() 
  
  displayNotification(notifType: string,
    notifMessage: string,
    dismissible: boolean,
    unrecoverable: boolean) 
    this.type = notifType;
    this.message = notifMessage;
    this.dismissible = dismissible;
    this.unrecoverable = false;
    this.timeOut = 5000;
    if (unrecoverable === true && notifType === 'danger') 
      this.unrecoverable = true;
    
  

我想我知道这个问题。这是在函数调用类之前加载html。这意味着警报的所有值都是未定义的。当类中的值更改/调用 SharedNotificationComponent.displayNotification 时,如何重新设置 html??

【问题讨论】:

应该显示通知时控制台中是否有任何错误? 不,没有错误。它只是不显示。我已经通过添加警告内联测试了本地 html 文件的显示,它工作正常。 组件在哪里导入并放在页面上?了解更多应用程序结构会很有帮助。同样通常对于这样的事情,最好有一个触发通知的服务。 所以有一个服务可以在组件被触发时简单地调用它。组件未导入服务,然后使用我在组件中调用函数(displayNotification)的服务。 另外,我意识到这可能是因为页面加载时html加载并且警报未定义。当组件被调用并且调用变量的值发生变化时如何更新html? 【参考方案1】:

显示此类组件的正确方法是在本例中采用父级选择器“Shared-Notificaiton-Container”并将其插入到您要显示 HTML 的位置。

【讨论】:

以上是关于调用函数时全局显示 HTML的主要内容,如果未能解决你的问题,请参考以下文章

python函数可以调用具有相同名称的全局函数吗?

函数调用自身时全局丢失

Python_Day001

Python_Day001

JavaScript This -笔记

关于this