Polymer 从该元素外部收听聚合物连接事件
在我的团队中,我们正试图为聚合物自定义元素编写一些单元测试。我们的大多数自定义元素都使用Polymer的模板绑定功能,因此我们有很多代码是在自定义元素的附加回调下编写的。 当为这些元素编写单元测试时,我只能听polymer ready事件,但我们需要的是仅在polymer附加事件之后运行测试套件,以便绑定已经完成 现在,我们已经对要检查的元素进行了脏检查,这样我们的测试套件只能在整个模板绑定之后运行Polymer 从该元素外部收听聚合物连接事件,polymer,Polymer,在我的团队中,我们正试图为聚合物自定义元素编写一些单元测试。我们的大多数自定义元素都使用Polymer的模板绑定功能,因此我们有很多代码是在自定义元素的附加回调下编写的。 当为这些元素编写单元测试时,我只能听polymer ready事件,但我们需要的是仅在polymer附加事件之后运行测试套件,以便绑定已经完成 现在,我们已经对要检查的元素进行了脏检查,这样我们的测试套件只能在整个模板绑定之后运行 我已经看到了一个例子,其中Polymer公开了一种监听ready事件的方法,但我们需要的是一种从
我已经看到了一个例子,其中Polymer公开了一种监听ready事件的方法,但我们需要的是一种从Polymer外部监听Polymer附加事件的方法。我认为有几种方法可以解决这个问题
domReady
触发您自己的自定义事件,以便它调用元素已定义的任何回调,并发送自定义事件无论您从何处收听:
window.addEventListener('custom-element-attached', function() {
console.log('Custom element attached event has fired');
}.bind(this));
您试图收听的元素:
attached: function() {
var event = new Event('custom-element-attached');
window.dispatchEvent(event);
}
我没有测试过这段代码,但它应该可以工作。domReady回调是一个真正的救命稻草:)