Tôi biết trong các thông số tùy chọn có thể được đánh dấu bằng dấu chấm hỏi.Làm thế nào để thiết lập các tham số lớp tùy chọn trong Angular 2-Typescript?
Tuy nhiên, cách duy nhất tôi thấy thực sự khởi tạo lớp học với từ khóa mới.
Điều này dựa trên các lớp hướng dẫn "anh hùng" khởi động của Angular 2 là không phải là được khởi tạo qua từ khóa mới và theo như tôi hiểu được nội bộ được thực hiện bởi Angular.
Ví dụ tôi có mã này:
mô hình/users.ts
export class User {
id: number;
name: string; // I want this to be optional
}
mô hình/mô hình 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"
},
]
dịch vụ/người dùng. 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));
}
}
cảm ơn Ronald. Bạn có thể cung cấp một ví dụ đầy đủ xin vui lòng (sử dụng)? – dragonmnl
Nếu tất cả các mã bạn có trong câu hỏi, sau đó thay đổi từ khóa từ 'lớp' sang' giao diện' nên thực hiện thủ thuật. Tôi sẽ mở rộng câu trả lời. –
cảm ơn vì đã giải thích thêm. Tôi sẽ làm việc đó. Bạn có thể vui lòng giải thích những gì tôi nên làm gì khi tôi muốn cả hai thông số tùy chọn và phương pháp? Ngoài ra, trong trường hợp của một lớp học với các phương pháp, tôi có cần phải nhanh chóng với keywork mới không? sau này tôi sẽ chấp nhận câu trả lời của bạn :) – dragonmnl