来自脚本的Angular 2外部指令

时间:2016-10-06 09:25:21

标签: angular typescript

您好我有一个角度2项目,工作正常。现在我想要通过脚本标签加载来自js的外部指令,即https://test.com/testDirectiveLoad.js这个js包含一个指令。当我将脚本和指令放在index.html文件中时,该指令有效。但我想在我的一个组件中包含该指令,例如headerComponent.ts。如果我将指令放在该组件中,浏览器会显示错误:

Template parse errors:
'test' is not a known element:
1. If 'test' is an Angular component, then verify that it is part of this module.
2. If 'test' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. 

有人可以帮助我吗

2 个答案:

答案 0 :(得分:0)

如果没有误解你的问题,我认为你需要将你的外部javascript导入你的组件,如下例所示:

declare let createTable: any

然后在你的导出类中:

ngOnInit() {
    this.service.getAll().then(() => createTable('#elementName', this.tConfig(), this))
}

tConfig() { ... }

在javascript中:

function createTable(elementID, options, delegate) {...}

答案 1 :(得分:0)

我通过添加架构来解决它:[CUSTOM_ELEMENTS_SCHEMA]到我的app.module.ts查看https://stackoverflow.com/a/39517874/6039002了解详情