我们只是说我制作一个自定义JavaScript文件,即' custom.js'
我如何将其实现为组件?
如果我添加' custom.js'对index.html来说,这很好但是有什么方法可以将它专门添加到组件中吗?
答案 0 :(得分:1)
步骤:1 =>创建和编写你的js代码说" synapse.js "在 / app 文件夹中。应使用export
关键字导出要在组件中使用的函数或常量。 for ex :
synapse.js
export function synapseThrow() {
return 'hello'
}
export const MY_VAR = 'world!';
步骤:2 =>在 angular-cli.json 中,在apps
对象中添加以下部分。
"scripts": ["app/synapse.js"]
步骤:3 =>在 tsconfig.json 中,在compilerOptions
。
"allowJs": true
步骤:4 =>在任何组件中说" app.component.ts "导入" synapse.js "文件使用import
关键字。
app.component.ts
// other imports
import { MY_VAR, synapseThrow } from './synapse';
// other app code here
ngOnInit(){
const returned = MY_VAR;
const returnFunc = synapseThrow();
}
答案 1 :(得分:0)
尝试声明custom.js文件中的变量
declare var aFunction: any;
import '../../../js/custom.js';
export class ExampleComponent{
variable: any;
constructor() { }
ngOnInit() {
new aFunction(this.variable); //aFunction() is inside custom.js
}
}
答案 2 :(得分:0)
尝试这种方式:
ts文件
export class MyComponent implements AfterViewChecked {
constructor(private elementRef: ElementRef) {
}
ngAfterViewChecked() {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "../assets/js/custom.js";
this.elementRef.nativeElement.appendChild(s);
}
}