【问题标题】:Events not firing in Angular Power BI ComponentAngular Power BI 组件中未触发的事件
【发布时间】:2022-06-30 16:40:32
【问题描述】:

我正在尝试将此角度组件用于 Power Bi 嵌入。 https://github.com/microsoft/powerbi-client-angular

它包括处理特定事件的能力。我已经尝试通过 github 中的指令处理事件,甚至按照下面的代码直接初始化它们,但它们都没有触发。

this.reportObj.powerbi.embed(reportContainer, embedConfig);
const report = this.reportObj.getReport();
report.on('loaded', event => {
   console.log('Report loaded', event.detail);
   this.setContainerHeight();
});

我特别想跟踪“已加载”事件,因为我需要在报告加载后调整容器的大小,因为我没有其他方法可以跟踪它。

有其他人遇到过这个问题并知道如何解决吗?

【问题讨论】:

    标签: powerbi powerbi-embedded power-bi-angular


    【解决方案1】:

    当您使用来自代码 github 的代码时,一种方法是简单地在事件处理程序映射中添加函数。

    eventHandlersMap = new Map<string, (event?: service.ICustomEvent<any>) => void>([
        ['loaded', (event) => { console.log('Report ',event)
          this.setContainer();}],
        [
          'rendered',
          () => {
            console.log('Report has rendered');
         ],
    ]);
    

    只有嵌入配置需要更新,不需要`this.reportObj.powerbi.embed。你的代码的问题是reportObj只是访问报告属性,但我们不能更新嵌入。当您使用组件时,您可以通过 this.reportObj.getReport 直接使用 getReport 方法,它将运行并且不需要第一行。删除该行,它应该可以工作

    【讨论】:

      猜你喜欢
      • 2016-12-06
      • 2016-04-25
      • 2021-08-19
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多