so a macchina opzionali parametri possono essere contrassegnati da Mark domanda.Come impostare i parametri di classe opzionali in angolare 2-tipografico?
Tuttavia, l'unico modo in cui ho trovato effettivamente istanziare la classe con nuova parola chiave.
Il fatto è che sulla base di avviamento angolare 2 di "eroe" classi di tutorial sono non istanziati tramite la nuova parola chiave e per quanto ho capito questo è fatto internamente da angolare.
Per esempio io ho questo codice:
modelli/users.ts
export class User {
id: number;
name: string; // I want this to be optional
}
modelli/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"
},
]
servizi/utente. service.ts
import {Injectable} from 'angular2/core';
import {USERS} from './../models/mock-users';
@Injectable()
export class UserService {
getUsers() {
return Promise.resolve(USERS);
}
}
viste/my-component.component.ts
// imports here...
@Component({
// ...
})
export class MyComponent {
constructor(private _userService: UserService) { }
getUsers() {
this._userService.getUsers().then(users => console.log(users));
}
}
grazie Ronald.could si fornisce un esempio completo si prega (utilizzo)? – dragonmnl
Se tutto il codice che hai è nella domanda, cambiare la parola chiave da 'class' a' interface' dovrebbe fare il trucco. Espanderò la risposta. –
grazie per l'ulteriore spiegazione. Lo farò. Potresti spiegare cosa devo fare quando voglio sia parametri che metodi facoltativi? inoltre, nel caso di una classe con metodi, devo creare un'istanza con una nuova chiave di volta? dopo questo accetterò la tua risposta :) – dragonmnl