26

这是一个糟糕的星期四。这是13号。昨天我向我的同事解释了我们在星期四而不是星期五的 13 日摔倒是多么幸运。

嗯,那是昨天的事,今天醒来,我的脸是 angular 的拳头:

无法在字符串“__zone_symbol__optimizedZoneEventTask”上创建属性“ creationTrace

好吧,它也可能是 zone.js,或者甚至可能是更深的那个叫做开发堆栈的黑暗深渊。有谁能够帮我?

对不起我的态度,只是因为它的早期 alpha 阶段使用 Angular 最终对我造成了影响。

PS:我只想说,自从昨天的工作版本以来我没有改变任何东西。所以我完全不知道为什么以及如何以及从哪里来这个错误......

4

8 回答 8

47

好吧,我设法找到了出路。zone.js 伙计们最近发布了一个新版本,你可以从这里查看。 https://github.com/angular/zone.js/releases 我认为问题出在这个版本上。在你的 package.json 中使用 zone.js 像这样

"zone.js": "0.8.12"

如果您在 Plunker 中使用默认的 Angular 模板,您可以通过将版本插入 index.html 文件的适当行来设置 zone.js 版本。

<script src="https://unpkg.com/zone.js@0.8.12/dist/zone.js"></script>
<script src="https://unpkg.com/zone.js@0.8.12/dist/long-stack-trace-zone.js"></script>
于 2017-07-13T10:34:25.053 回答
8

As mentioned in https://github.com/angular/zone.js/issues/832 the error happens only in zone.js version 0.8.13 and it is related to event binding.

The bug has been fixed already but for now in order to fix an application you need to downgrade to previous version of zone.js.

"zone.js": "0.8.12" in package.json should do the trick.

于 2017-07-13T14:58:45.737 回答
1

当您使用 cdn 并且 zonejs 已更新其路径 URL 以区分版本时,会发生这种情况。

所以修改路径从

https://unpkg.com/zone.js/dist/....

https://unpkg.com/zone.js@0.8.12/dist/....

请参阅此处的更改日志

于 2017-07-17T07:58:55.323 回答
1

这个错误在使用最新版本 Angular 的 plunker 上向我发出。我更改了 index.html 文件以获取版本“0.8.12”(从 unpkg.com/zone.js/dist/zone.js 到 unpkg.com/zone.js@0.8.12/dist/zone.js)和工作。

于 2017-07-14T18:30:22.023 回答
0

此问题已在 zone.js 中修复,请更新到 zone.js 的最新版本

于 2018-03-15T06:59:00.127 回答
0

想我发现了一些东西:

将 package.json 中的“zone.js”修复为“0.8.12”版本为我解决了这个问题。

于 2017-07-13T10:34:35.117 回答
0

昨晚我遇到了同样的问题,我的 package.json 文件中 zone.js 的以下条目对我有用:

“zone.js”:“0.8.4”

于 2017-07-13T14:38:30.217 回答
0

我遇到了 'zone.js':"0.8.11" 的问题

Unhandled Promise rejection: Cannot create property '__creationTrace__' on string '__zone_symbol__optimizedZoneEventTask' ; Zone: <root> ; Task: Promise.then ; Value: TypeError: Cannot create property '__creationTrace__' on string '__zone_symbol__optimizedZoneEventTask'
    at Object.onScheduleTask (long-stack-trace-zone.js:115)
    at ZoneDelegate.scheduleTask (zone.js:404)
    at Object.onScheduleTask (zone.js:300)
    at ZoneDelegate.scheduleTask (zone.js:404)
    at Zone.scheduleTask (zone.js:235)
    at Zone.scheduleEventTask (zone.js:261)
    at zone.js:1561
    at BrowserPlatformLocation.onPopState (platform-browser.es5.js:1922)
    at PathLocationStrategy.onPopState (common.es5.js:592)
    at new Location (common.es5.js:256)
    at AppBrowserModuleInjector.createInternal (module.ngfactory.js [sm]:1)
    at AppBrowserModuleInjector.NgModuleInjector.create (core.es5.js:3558)
    at NgModuleFactory.create (core.es5.js:3531)
    at core.es5.js:4772
    at ZoneDelegate.invoke (zone.js:391)
    at Object.onInvoke (core.es5.js:4149)
    at ZoneDelegate.invoke (zone.js:390)
    at Zone.run (zone.js:141)
    at NgZone.run (core.es5.js:4017)
    at PlatformRef_._bootstrapModuleFactoryWithZone (core.es5.js:4770)
    at core.es5.js:4812
    at ZoneDelegate.invoke (zone.js:391)
    at Zone.run (zone.js:141)
    at zone.js:832
    at ZoneDelegate.invokeTask (zone.js:424)
    at Zone.runTask (zone.js:191)
    at drainMicroTaskQueue (zone.js:596) TypeError: Cannot create property '__creationTrace__' on string '__zone_symbol__optimizedZoneEventTask'
    at Object.onScheduleTask .........
于 2017-07-13T12:01:17.463 回答