在我的情况下,我试图安装k-frame来使用aframe-template-component和通过documentation,我明白我必须创建一个typings.d.ts文件,使用它与TypeScript.根据this的问题,我已经尝试了不同的选项,但是我无法生成文件或直接导入到项目中.
我也试过运行和安装dts-gen,但是我收到以下错误:
Component attempted to register before AFRAME was available
我尝试用AngularCli.我已经创建了一个新项目,使用新的,我已经按照以下步骤:
>新的kframetest
>安装aframe和aframe-template-components使用:
npm install aframe aframe-template-component --save
>由于两个(zone.js和A-frame)捕获attributeChangedCallback,你需要在zone.js.之前加载A帧.然后(在polyfills.ts文件中)我已经添加:
import 'aframe'; import 'aframe-template-component';
在进口’zone.js / dist / zone’之前;
>使用kframe sample作为模板创建一个简单的组件.
>为了Angular可以解析特殊html标签,如< a-entity>您必须使用schemas属性将一个CUSTOM_ELEMENTS_SCHEMA和NO_ERRORS_SCHEMA添加到NgModule中:
schemas: [CUSTOM_ELEMENTS_SCHEMA,NO_ERRORS_SCHEMA]
>运行应用程序.
现在您可以在控制台中看到A框运行:
Put the A-Frame
script
tag in thehead
of the HTML before the scene to ensure everything for A-Frame is properly registered before they are used from HTML.06003
但是最大的问题是Angular tryes来解析HTML,他不明白aframe模板的语法,你会得到这个错误:
Unhandled Promise rejection: Template parse errors:
Parser Error: Unexpected token#
at column 6 in[src: #BoxesTemplate]
inKFrameTestComponent
06004
Property binding
src
not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the@NgModule.declarations
.06005
我已经尝试将模板添加到索引html,它似乎工作,但我明白,这不是你想要的情况.