在TypeScript中注册自定义HTML元素 - Ionic 2

时间:2016-08-09 14:47:04

标签: angular typescript ionic2

我在TypeScript中为 Ionic 2 创建了一个组件(指令),组件作为选择器<search-result>创建,当我们使用语义HTML时,我们也按照HTML语义设置样式,我会喜欢注册这个HTML元素。

我正在使用TypeScript,我已经尝试了document.registerElement,但它说文档在“文档”类型中不存在。

那是我的代码:

import {Component, Input} from "@angular/core";
import {NavController, NavParams} from "ionic-angular";
import {IONIC_DIRECTIVES} from "ionic-angular";

@Component({
    selector: "search-result",
    directives: [IONIC_DIRECTIVES],
    templateUrl: "build/pages/components/search-result/search.result.html"
})
export class SearchResultComponent {
    constructor() {
        document.registerElement("search-result");
    }
}

以下是代码中的错误消息:

enter image description here

如何注册元素?我错过了import吗?

2 个答案:

答案 0 :(得分:0)

这是一个奇怪的错误消息。您应该提供整个例外文本。

尝试将document.registerElement("search-result");更改为window.document.registerElement("search-result");

修改

您正在尝试使用仍处于草稿状态且尚未正式成为DOM的功能。因此,在最终确定之前,它们不可能包含在TypeScript中。

您可以通过编写(<any>document).registerElement("search-result");

来阻止编译器错误消息

答案 1 :(得分:0)

我发现这不是必需的。注册指令/组件后,标签会自动注册。