在我的角度项目中,我编写了一个js文件来将一些值返回给ts文件。
var webGlObject = (function() {
return {
init: function() {
alert('webGlObject initialized');
}
}
})(webGlObject||{})
import { Component, OnInit } from '@angular/core';
import '../../../lib/jquery-3.2.1.min.js';
import '../../../server/getSummary.js';
declare var webGlObject: any;
@Component({
selector: 'mop-designer-dashboard',
templateUrl: 'mop-designer-dashboard.component.html',
styleUrls: ['mop-designer-dashboard.component.css'],
})
export class MopDesignerDashboardComponent implements OnInit {
debugger;
scoreBoardList: any = [];
breadcrumb: any = [];
constructor() {
/* prepare breadcrumb */
this.breadcrumb = [
{
label: 'Mop Designer',
href: '/#/mop-designer'
}
];
debugger;
webGlObject.init();
}
ngOnInit() {
console.log('test');
}
}
但声明var webGlObject:any;不会创建任何对象 我得到以下错误:
> ZoneTask.invoke @ zone.js?fad3:339 VM292602:61错误:未捕获(在承诺中):错误:错误:0:0引起:webGlObject未定义 ReferenceError:未定义webGlObject 在新的MopDesignerDashboardComponent
答案 0 :(得分:1)
这是因为您将其创建为类并用作对象。 试试这个: 将以下内容放在js文件中:
var webGlObject = function() {
this.init= function() {
alert('webGlObject initialized');}}
在ts文件中创建一个实例:
declare var webGlObject: any;
export class YourComponent{
constructor(){
let wegObj = new webGlObject();
wegObj.init();
}
}