我在使用 angular 2 beta RC 时遇到了一个奇怪的问题。如果我在任何 Angular 2 项目中包含我编写的外部脚本,则事件会被推迟:
<script>
(function(r,a,k,e,y,o,u){r['RakrWidgetObject']=y;r[y]=r[y]||function(){
(r[y].q=r[y].q||[]).push(arguments)},r[y].l=1*new Date();o=a.createElement(k),
u=a.getElementsByTagName(k)[0];o.async=1;o.src=e;u.parentNode.insertBefore(o,u)
})(window,document,'script','//cht.technology/rakr.js','rakr');
rakr('//localhost:3000', 'RAKR-000001');
</script>
以 github 项目thelgevold/angular-2-samples为例,一旦我像在https://github.com/tan9/angular-2-samples/tree/event-postponed分支中那样添加以下脚本。
angular 2 应用程序开始出现奇怪的行为,在我手动触发另一个事件之前,一些事件更改不会被 angular 考虑在内,我必须单击一个按钮两次才能获得正确的渲染,因为我将此记录上传到 imgur
我不知道我写的外部脚本发生了什么,这是一个简单的项目,只依赖html2canvas
and es6-promise
,它可以使用 html2canvas 捕获屏幕截图并将其发送到另一个 Web 服务。捆绑包是由 webpack 构建的,我尝试使用 browersify 构建捆绑包,但没有成功。