Typescript导入模块错误

时间:2018-02-15 10:39:25

标签: typescript

我有点新的使用打字稿我没有这个小测试文件我用来练习,但仍然没有得到这里的错误。

app.ts

import * as $ from 'jquery';
import { ShareModule } from './modules/share.module';

export class AppModule {
  constructor(public share: ShareModule) { }

  public getphotos(): void {
    this.share.logPhotos();
  }

}

const app = new AppModule();

share.module.ts

import * as $ from 'jquery';

export class ShareModule {
  public photos: any = [
    { name: 'string' },
    { name: 'string' },
    { name: 'string' },
    { name: 'string' },
    { name: 'string' },
    { name: 'string' }
  ];
  constructor() {
  }

  public logPhotos(): void {
    this.photos.forEach((photo) => {
      console.log(photo);
    });
  }
}

有人帮助理解为什么是错误的以及代码中的错误在哪里,只是为了更清楚一点我有错误const app = new Appmodule期待1个参数并得到0。

2 个答案:

答案 0 :(得分:1)

构造函数是constructor(public share: ShareModule) { }。期待ShareModule类型的参数。但你没有传递任何东西。

答案 1 :(得分:1)

AppModule的构造函数需要一个参数。所以在使用new AppModule()时必须传递一个参数。

可以使构造函数参数可选
constructor(public share ?: ShareModule) { }