angular - 从事件回调更新数组

标签 angular typescript ionic3

我必须从基于事件的回调函数更新数组(在我的 html 模板中)。但当我在回调中访问它时,它是未定义

export class HomePage {

  constructor(public navCtrl: NavController) {
    let consumer: string[]; // <=== Updating this array
    const realtime = new Ably.Realtime('API-KEY');
    const channel = realtime.channels.get("test");
    channel.subscribe((msg) => {

      console.log("Received: " + msg.data);
      consumer.push(msg.data); // <=== but "consumer is undefined here"

    });
  }

}

HTML 模板

  <div>
    <ul *ngFor="let item of consumer">
      <li>{{item}}</li>
    </ul>
  </div>

最佳答案

移动let consumer: string[]; // <=== Updating该数组位于构造函数之外 -> 例如位于其上方。

然后,删除 'let' 关键字并将其初始化为空数组 = []; 现在您可以在模板中使用它。

关于angular - 从事件回调更新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683603/

相关文章:

javascript - 将 utf-8 字体添加到 jsPDF 库以在 Angular 应用程序中打印 utf-8 阿拉伯语 pdf

angular - AbstractControl 类型的参数不能分配给字符串类型的参数

typescript - dc.js 在 typescript 中输入

node.js - 如何使用其他数据模型类型脚本处理枚举数据模型?

Android 应用程序强制横向视频,而应用程序是纵向的

javascript - javascript 库的 .d.ts typescript 文件

animation - 我如何在 Angular 2 中为路由器组件使用动画

angular - 如何在 ng-select 中自定义清除按钮?

angular - 如何在没有插件的情况下平滑滚动到 Angular 4 中的页面 anchor ?

angular - 我的 Angular 项目从哪里获取 A favicon.ico?它不在我的项目中