Я знаю, что в Typescript необязательных параметры могут быть отмечены знаком вопросительного знака.
Однако, единственный способ найти экземпляр класса с ключевым словом new.
Дело в том, что на основе классов Angular 2 стартера "герой" учебники не, созданных с помощью нового ключевого слова, и насколько я понял, что внутренне сделано Angular.
Например, у меня есть этот код:
модели /users.ts
export class User {
id: number;
name: string; // I want this to be optional
}
модель/макетный users.ts
import {User} from './user';
export var USERS: User[] = [
{
id: 1
// no name (I wanted it to be optional for user with id 1)
},
{
id: 2,
name: "User 2"
},
]
услуги /user.service.ts
import {Injectable} from 'angular2/core';
import {USERS} from './../models/mock-users';
@Injectable()
export class UserService {
getUsers() {
return Promise.resolve(USERS);
}
}
мнение/мой-component.component.ts
// imports here...
@Component({
// ...
})
export class MyComponent {
constructor(private _userService: UserService) { }
getUsers() {
this._userService.getUsers().then(users => console.log(users));
}
}