【发布时间】:2016-04-20 14:22:12
【问题描述】:
我知道在Typescript中可选参数可以用问号标记。
但是,我发现使用 new 关键字实际实例化类的唯一方法。
问题在于,基于 Angular 2 的入门“英雄”教程类不通过 new 关键字实例化,据我所知,这是由 Angular 内部完成的。
例如我有这个代码:
models/users.ts
export class User {
id: number;
name: string; // I want this to be optional
}
models/mock-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"
},
]
services/user.service.ts
import {Injectable} from 'angular2/core';
import {USERS} from './../models/mock-users';
@Injectable()
export class UserService {
getUsers() {
return Promise.resolve(USERS);
}
}
views/my-component.component.ts
// imports here...
@Component({
// ...
})
export class MyComponent {
constructor(private _userService: UserService) { }
getUsers() {
this._userService.getUsers().then(users => console.log(users));
}
}
【问题讨论】:
标签: typescript angular