javascript - Angular2模板中未呈现可观察事件

标签 javascript angularjs electron

我试图弄清楚为什么模板中没有呈现可观察的事件。我正在努力帮助我的一位同事。他正在使用 Angular 2 做一个 Electron 项目,并且使用 JavaScript 而不是 TypeScript。这很痛苦,希望我们能尽快将其转换为 TypeScript。

变量 'eventEmitter' 与异步管道绑定(bind)在模板中。我有一个 2 秒的计时器来发出事件。除了 Hello 消息,模板不显示任何内容。我已经设置了断点,计时器正在触发,发射器正在熄灭。我编写了一个订阅代码并验证了该事件确实会发出并且可以接收。现在是注释掉了。这是我的应用程序组件:

var count = 0;

var eventEmitter = new ng.core.EventEmitter();

(function(app) {

var MessageList =
    ng.core.Component({
            selector: 'message-list',
            template:
            '<p>Hello {{name}}</p>' +
            '<p>{{ eventEmitter | async}}</p>'
        })
        .Class({
            constructor: function() {
                console.log("In MessageList");

                /*       eventEmitter
                 .subscribe(
                 function(data) {
                 return data;
                 },
                 function(err) {
                 console.log("EventEmitter error");
                 },
                 function() {
                 console.log("Completed eventEmitter");
                 }
                 );*/


                setInterval(function() {
                    count++;
                    eventEmitter.emit("Got an event at " + count);
                }, 2000)

                this.name = "Test EventEmitter";
            }
        });

app.StatusPage =
    ng.core.Component({
            selector: 'status-page',
            templateUrl: 'app/statuspage.html',
            directives: [MessageList]
        })
        .Class({
            constructor: function() {

            }
        });

})(window.app || (window.app = {}));

最佳答案

所以我确实解决了这个问题。问题是我在 Angular 2 代码中收到了 Electron ipc 消息,并且区域系统无法处理来自另一个线程的调用。由于代码不在区域中,因此未检测到事件。我将代码 package 在 ngzone 中。

关于javascript - Angular2模板中未呈现可观察事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34909378/

相关文章:

javascript - 在 jQuery .each 调用中使用预定义函数

c# - 如何使用 GeckoFX/C# 获取所有 HTML 属性

javascript - PHP/Javascript 刷新

javascript - Vue.js 一起输入键和模糊事件

firebase - Electron 应用程序上的 Firebase 错误 : Failed to load gRPC

javascript - 不理解 AngularJS 中的 Promise

javascript - Angularjs:使用日期助手格式化 UTC 时间的时间戳

angularjs - 暴露端口在 docker 中不起作用

node.js - 将选项与 Electron 集成到资源管理器上下文菜单中

javascript - 在node.js中使用 Electron 时如何读取元素的innerHTML?