2016-08-09 70 views
1

我創建了打字稿組件(指令)爲離子2,組件作爲選擇<search-result>當我們與語義HTML工作,我們也風格與HTML語法,我想要註冊這個HTML元素。在打字稿註冊自定義HTML元素 - 離子2

我使用的是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

+1

爲什麼你需要註冊該標籤? – rinukkusu

+1

這是我試圖訪問DOM元素與CSS,但我正在嘗試這個'[搜索結果] {}'應該只有'搜索結果{}' – DAG

回答

0

這是一個奇怪的錯誤消息。你應該提供整個例外文本。

嘗試改變document.registerElement("search-result");window.document.registerElement("search-result");

編輯:

您正在嘗試使用一種功能,仍然是草案和DOM的尚未正式組成部分。因此,它們在定稿之前不可能包含在TypeScript中。

您可以通過編寫(<any>document).registerElement("search-result");

+0

我更新了帖子的消息 – DAG

0

防止編譯器錯誤消息我發現,這是沒有必要的。一旦指令/組件被註冊,標籤將被自動註冊。