2017-12-27 285 views
0

使用HTML-GL我想要什么在我的角度(离子)项目

使用在我的角度项目中的组件库里面HTML-GL(与包括离子框架)。

我现在得到了什么

我包括我的index.html库里面的脚本,右polyfills.js以上 - 这样的:

<!-- HtmlGL import --> 
<script async src="assets/js/htmlgl.js"></script> 
<script async src="assets/js/htmlGL_pulse.js"></script> 

眼下以下网页元素的作品在index.html

<html-gl> 
    <h1>This is an animated header</h1> 
<html-gl> 

什么是错误

当我把在html以上单独的组件,我得到了以下错误:

Uncaught Error: Template parse errors: 
'html-gl' is not a known element 

我怎样才能确保该组件是知道`HTML-GL>标签的?

+0

使用'npm install --save html-gl'来安装模块 –

+0

我在开始的时候这样做了,但是这也不起作用。我忘了将它导入某处吗?在Ionic中有什么位置可以引导Javascript文件? – Lars

+0

我可能是错的,但我相信HTML-GL不适用于Angular。 HTML-GL和Angular都处理DOM,而HTML-GL创建DOM元素的WebGL表示并隐藏实际的DOM,这将导致角度更改跟踪出现问题。更何况,你在这里遇到的问题是Angular认为'html-gl'是一个Angular Component,它显然不是。 – Claies

回答

1

要使用不在Angular注册表中的dom元素,您必须从angular core中导入自定义元素模式,并将其附加到您的NgModule的模式中。

import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';

+0

是的,我这样做,页面没有错误地呈现。但是,该组件未被动画化。一个htmlgl的工作示例将会输出一个html元素,比如'',但是它对模式做了什么,它会呈现''。它错过了参数。 – Lars

+0

啊,请继续。我已经解决了这个问题,一个人在这里为xdom,另一个webgl库,虽然dom。但我目前在手机上,在这里格式化一个帖子是可怕的。 –

+0

@Lars我相信加载元素时x3dom会发生同样的情况。 HTML gl库将搜索html-gl的所有实例并初始化它。但该库很可能只在窗口加载时检查dom,因此元素中的组件设置不正确。您将不得不在加载组件后按以下所述加载库:https://stackoverflow.com/questions/44260121/integrate-angular-and-x3d-render-a-simple-box/44261948#44261948 –