【问题标题】:Cannot assign to read only property 'detachedCallback' of object '#'无法分配给对象“#”的只读属性“detachedCallback”
【发布时间】:2016-10-09 00:33:51
【问题描述】:

我通过

安装了A-Frame
npm install aframe --save.

当我使用时:

import 'aframe';  // or use: require 'aframe';
import { Component } from '@angular/core';

@Component({
  selector: 'app',
  template: `
    <a-scene></a-scene>
  `
})
export class AppComponent {}

我得到了错误:

zone.js:1046Uncaught TypeError: 无法分配给只读属性 对象“#”的“detachedCallback”

我检查了这个Angular_VRDemo,但还是没有弄清楚自己。

【问题讨论】:

  • 我猜你应该在 zonejs take.ms/tR0Sh 之外加载这个库,并将 CUSTOM_ELEMENTS_SCHEMA 添加到你的根 angular2 模块的 schemas 属性
  • @yurzui 是的,这种方式行得通!你介意在答案上发布,所以我可以接受吗?顺便说一句,是否可以使用 NPM 包而不是在标题中通过 &lt;script&gt;&lt;/script&gt; 加载?
  • 放在zonejs前面take.ms/CtAMX
  • @yurzui 谢谢,它工作完美!你能回答我吗?谢谢!

标签: angular aframe


【解决方案1】:

我猜是因为aframe 库没有通过创建自定义元素来实现某些属性(如detachedCallback 和其他)。 https://github.com/aframevr/aframe/blob/v0.3.1/src/core/a-assets.js#L13-L73

zonejs 覆盖了需要所有属性的 document.registerElement 版本,因此它会中断库加载 (https://github.com/angular/zone.js/blob/v0.6.17/dist/zone.js#L1151-L1170)。

作为解决方法,您可以在 zonejs 之前加载此库

【讨论】:

    猜你喜欢
    • 2021-06-30
    • 2018-11-21
    • 1970-01-01
    • 2021-05-12
    • 2019-04-27
    • 2017-12-18
    • 2017-11-01
    • 2023-03-13
    • 2020-06-26
    相关资源
    最近更新 更多