Javascript 在另一个JS文件中为基于角度的Web应用实例化JS类
我是Angular的新手,我们的团队正在开发一款以Angular为基础技术的新web应用程序。我在将js类包含到项目中时遇到了问题。我有一个js class Script.js,它实例化了如下类:Javascript 在另一个JS文件中为基于角度的Web应用实例化JS类,javascript,angular,Javascript,Angular,我是Angular的新手,我们的团队正在开发一款以Angular为基础技术的新web应用程序。我在将js类包含到项目中时遇到了问题。我有一个js class Script.js,它实例化了如下类: Script.prototype.createText = function () { let text = new mText(this.mEngine); this.addIntoAssetList(text); text.addParent(this.rootElemen
Script.prototype.createText = function () {
let text = new mText(this.mEngine);
this.addIntoAssetList(text);
text.addParent(this.rootElement);
//this.rootElement.addChild(text);
return text;
};
Script.prototype.createDate = function () {
let date = new mDate(this.maEngine);
console.log("date added");
this.addIntoAssetList(date);
this.addParent(this.rootElement);
return date;
};
mText.js文件与Script.js文件位于同一目录中
我现在尝试在Script.js文件中添加一个日期类对象,如下所示:
Script.prototype.createText = function () {
let text = new mText(this.mEngine);
this.addIntoAssetList(text);
text.addParent(this.rootElement);
//this.rootElement.addChild(text);
return text;
};
Script.prototype.createDate = function () {
let date = new mDate(this.maEngine);
console.log("date added");
this.addIntoAssetList(date);
this.addParent(this.rootElement);
return date;
};
mDate.js也位于同一目录中,其建模方式与mText.js文件类似
这么多代码是不够的,浏览器开发工具告诉我mDate对象不存在
我看到有一个angular.json文件,其中列出了项目中的所有脚本,其中列出了mText.js和其他.js文件。我将mDate.js文件添加到此文档中,但一旦我这样做,在运行应用程序时,从启动视图的一个.ts文件中,我在ngAfterViewInit的第一行上得到一个错误:
ngAfterViewInit() {
window.ContentEditor.init();
window.ContentSave.init();
window.DataTable.init();
window.ExpressionEditor.init();
}
由于无法读取函数ContentCreatorComponent中未定义的属性“init”,出现类型错误
我不确定像这样简单的事情需要做些什么。很肯定这是一个愚蠢的解释 将类导出到单独的文件(Script.ts)中,如: 导入、实例化并在其他文件的类中使用它:
import { Foo } from './Script';
class Bar {
constructor() {
let foo = new Foo();
foo.someFunction();
}
}
同样的错误很遗憾,内容创建者component.ts在添加新导入时遇到一些问题,但我不知道可接受的导入在哪里配置。^^这是您应该如何导出和导入的。如果您遇到与以前相同的错误,那么您的初始代码是错误的,这表示window.ContentEditor未定义。