2016-10-08 3 views
0

я установил A-Frame поНевозможно назначить только для чтения свойства 'detachedCallback' объекта '#'

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: Cannot assign to read only property 'detachedCallback' of object '#'

Я проверил этот Angular_VRDemo, но до сих пор не понял себя.

+0

Я думаю, вы должны загрузить эту библиотеку за пределами zonejs http://take.ms/tR0Sh и добавить '' CUSTOM_ELEMENTS_SCHEMA' в schemas' свойства модуля – yurzui

+0

angular2 корня @yurzui да, так работает! не возражаете ли вы отправлять ответ, так что я могу принять? BTW, можно ли использовать пакет NPM вместо загрузки '' в заголовке? –

+0

Просто положите его перед zonejs http://take.ms/CtAMX – yurzui

ответ

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

Смежные вопросы