Angular在promise内部的发射不起作用
创始人
2024-10-30 20:30:50
0

问题描述: 在Angular中,当在Promise内部尝试发射事件时,事件似乎无法被触发。

解决方法: 要在Angular中的Promise内部发射事件,需要使用Angular的ChangeDetectorRef服务来手动触发变更检测。

以下是解决方法的代码示例:

import { Component, OnInit, ChangeDetectorRef } from '@angular/core';

@Component({
  selector: 'app-my-component',
  template: `
    
    
{{ result }}
` }) export class MyComponent implements OnInit { result: string; constructor(private cdRef: ChangeDetectorRef) {} ngOnInit() {} startAsyncTask() { this.result = 'Task started'; // 模拟异步任务 const promise = new Promise((resolve, reject) => { setTimeout(() => { this.result = 'Task completed'; // 手动触发变更检测 this.cdRef.detectChanges(); resolve(); }, 2000); }); // 可选:可以在任务完成后执行一些额外的逻辑 promise.then(() => { console.log('Task finished'); }); } }

在上面的代码中,我们使用了ChangeDetectorRef服务来手动触发变更检测。在Promise的resolve回调中,我们调用了this.cdRef.detectChanges()来通知Angular检查组件的变更。这将触发组件的重新渲染,并更新模板中的绑定。

请注意,ChangeDetectorRef服务必须在组件的构造函数中注入,并且不能在构造函数外部使用。这是因为ChangeDetectorRef是Angular内部的服务,它只能在组件的上下文中使用。

相关内容

热门资讯

连日来!wepoker免费透视... 连日来!wepoker免费透视(透视)好像是真的辅助插件(有挂秘籍)-哔哩哔哩1、点击下载安装,we...
据了解!wepoker透视脚本... 据了解!wepoker透视脚本免费使用视频(透视)一贯真的是有辅助软件(有挂分析)-哔哩哔哩;1、让...
透视实锤!hhpoker德州透... 透视实锤!hhpoker德州透视挂(透视)都是真的有辅助神器(有挂教程)-哔哩哔哩1、hhpoker...
刚刚!wpk有辅助器吗(透视)... 刚刚!wpk有辅助器吗(透视)好像有辅助工具(有挂功能)-哔哩哔哩;1、进入到wpk有辅助器吗是否有...
网友热议!菠萝辅助器免费版的功... 网友热议!菠萝辅助器免费版的功能介绍(透视)切实真的有辅助插件(有挂方法)-哔哩哔哩网友热议!菠萝辅...
刚刚!hhpoker怎么破解(... 刚刚!hhpoker怎么破解(透视)真是存在有辅助app(有挂解惑)-哔哩哔哩hhpoker怎么破解...
不少玩家反映!哈糖大菠萝有没有... 不少玩家反映!哈糖大菠萝有没有挂(透视)一贯是有辅助软件(有挂秘籍)-哔哩哔哩1、下载好哈糖大菠萝有...
据文件显示!wepoker插件... 据文件显示!wepoker插件功能辅助器(透视)一贯是真的辅助辅助器(竟然有挂)-哔哩哔哩1、打开软...
现有关情况通报如下!购买的wp... 您好,购买的wpk辅助在哪里下载这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
透视透视挂!xpoker辅助(... 透视透视挂!xpoker辅助(透视)竟然有辅助下载(有挂总结)-哔哩哔哩1、该软件可以轻松地帮助玩家...