- соответственно у меня 2 класса объявлены - Model и HttpManager. В конструктор первого я передаю данные для модели, а во второй инжекчу Http из @angular/core. Как такое реализовать? Что-то напрямую не получается и погуглить тоже.
а что конкретно хочешь сделать?
все что ты инжектишь в базовый класс HttpManager ты должен инжектить и в дочерний Model, и первой строчкой в конструкторе вызывать super(http, ....) со всеми зависимостями HttpManager
http://plnkr.co/edit/uZQAY3czjM8Y048VO1oM?p=preview вот что можно сделать ( по первых нельзя использовать Inject если ты хочешь использовать именно конструктор - обьекты придется создавать и реквайрить в ручную ) export class HttpManager { constructor() { } makeRequest() { //.. } } import {HttpManager} from './HttpManager' export class BaseModel { private httpManager; constructor() { this.httpManager = new HttpManager(); } get(id) { return this.httpManager.makeRequest(); } } import {BaseModel} from './BaseModel' export class UserModel extends BaseModel { constructor(id: number, name: string) { super(); this.id = id; this.name = name; } } export class App { name:string; constructor() { this.name = 'Angular2' this.userModel = new UserModel(1,"test"); this.userModel.get(1); } }
Обсуждают сегодня