Я использую this seed application, чтобы сузить ошибку, которая держит выскакивать (так отладки проще ...)Угловой 2 Ошибки: (SystemJS) не удается разрешить все параметры для члена: (?). (...)
я получаю эту ошибку при попытке добавить модель данных в мой общий модуль (в моем браузере консоли):
Error: (SystemJS) Can't resolve all parameters for Member: (?).(…)
Member Class
в вопросе:
import * as _ from 'lodash';
import { Injectable } from '@angular/core';
@Injectable()
export class Member {
private id: string;
[key: string]: any;
constructor(private data?: any) {
if (data) {
this.id = data.id;
_.extend(this, data.attributes);
}
}
}
Мой SharedModule
(Member Class
не ссылается нигде на данный момент):
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { ToolbarComponent } from './toolbar/index';
import { NavbarComponent } from './navbar/index';
import { NameListService } from './name-list/index';
import { Member } from './models/member.model';
@NgModule({
imports: [CommonModule, RouterModule],
declarations: [ToolbarComponent, NavbarComponent],
exports: [ToolbarComponent, NavbarComponent,
CommonModule, FormsModule, RouterModule]
})
export class SharedModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
providers: [NameListService, Member]
};
}
}
Когда я избавляюсь от конструктора в class Member
ошибка исчезает:
import * as _ from 'lodash';
import { Injectable } from '@angular/core';
@Injectable()
export class Member {
private id: string;
[key: string]: any;
}
Я не использую импорт баррель, как вы можете так как порядок импорта может привести к той же ошибке.
я немного застрял на том, как решить эту проблему ... Спасибо
Что именно вы пытаетесь ввести в «Член»? Угловая не знает, что вы дарите, потому что нет никакого токена. И вы уверены, что действительно хотите сделать провайдера _model_? В чем смысл? –
Возможно, посмотрите [этот пост] (http://stackoverflow.com/q/40259357/2587435) и/или [этот] (http://stackoverflow.com/q/40017679/2587435) –
@peeskillet Извините, я не получаю ваш комментарий. 1) Я не пытаюсь вводить что-либо в 'Member'. Член должен просто служить моделью данных. Я хочу передать атрибуты json в конструктор. 2) Как еще я могу использовать класс в модели? Мне нужно предоставить его, чтобы иметь новый метод, нет? –