首页 文章

如何用里面的对象向量创建一个对象

提问于
浏览
1

我用angular 4来创建我的网站 . 但是我需要在里面创建一个带有对象的对象 . 这对我不起作用 . 我的代码:

对象1(disciplinaStatus.module.ts)

export class DisciplinaStatus{
 constructor(public codigo: string,
          public nome: string,
          public status: string,
          public professor:string,
          public cargaHoraria:string,
          public nota: number) {}
}

对象2(historicoData.module.ts)

import { DisciplinaStatus } from './disciplinaStatus.model';

export  class HistoricoData{
   constructor(public periodo: string,
          public historico: DisciplinaStatus[]) {} //The Problem stay here!!!
}

我的组件ts代码:

import { Component, OnInit } from '@angular/core';
import { DisciplinaStatus } from './models/disciplinaStatus.model';
import { HistoricoData } from './models/historicoData.model';

@Component({
     selector: 'historico-a-component',
     templateUrl: './historico-a.component.html',
     styleUrls: ['./historico-a.component.css']
})
export class HistoricoAComponent implements OnInit {

constructor(historico: HistoricoData[]) {

  historico = [
      new HistoricoData('2016/1', [
          new DisciplinaStatus('001','Redes 1','Completo','Everthon Valadão','60',71.5),
          new DisciplinaStatus('002','Compiladores','Completo','Walace','60',45.5)
      ]),
      new HistoricoData('2016/2', [
          new DisciplinaStatus('001','AED','Completo','Diego Melo','60',22.5),
          new DisciplinaStatus('002','Teoria','Completo','Diego Melo','60',89.5)
      ])
  ];
}

错误:

ng:///AppModule/AppComponent.ngfactory.js:7错误错误:StaticInjectorError(AppModule)[HistoricoAComponent - > Array]:StaticInjectorError(Platform:core)[HistoricoAComponent - > Array]:NullInjectorError:没有Array的提供者! at NullInjector.get(webpack-internal:///../../../core/esm5/core.js:1209)at resolveToken(webpack-internal:///../../../ core / esm5 / core.js:1507)在StaticInjector.get的tryResolveToken(webpack-internal:///../../../core/esm5/core.js:1449)(webpack-internal:// /../../../core/esm5/core.js:1317)在resolveToken(webpack-internal:///../../../core/esm5/core.js:1507)at at在StaticInjector.get(webpack-internal:///../../../core)的tryResolveToken(webpack-internal:///../../../core/esm5/core.js:1449) /esm5/core.js:1317)在NgModuleRef.get的resolveNgModuleDep(webpack-internal:///../../../core/esm5/core.js:11051)(webpack-internal:/// ../../../core/esm5/core.js:12284)在resolveDep(webpack-internal:///../../../core/esm5/core.js:12774)

1 回答

  • 0

    看起来您正在使用构造函数来声明属性 . 只需在类中声明属性并从构造函数参数中删除它,以便角度不相信它应该注入somrthing,因为你覆盖它 .

相关问题