Próbuję utworzyć definicje maszynopisu na Kątowymi 2 projektu pracuję nad tak, że może on być eksportowane biblioteka.maszynopis błędy podczas ustawiania deklarację TRUE
Mam kilka usług setup że powrót żądań HTTP do komponentów wszystko całkiem podobny do następującego:
public create(user:User) {
return this.http.post(this._apiUrls.create,
JSON.stringify(user), {
headers: this.apiConfig.getApiHeaders()
});
}
Co ja wtedy dzwonić z czymś komponentów takich jak to:
Session.create(user).subscribe((res:Response) => {
this.user = res.json().user
});
To wszystko działa dobrze, dopóki nie zmieni "deklaracji" na true w pliku tsconfig, dzięki czemu mogę tworzyć pliki definicji maszynopisu. Zaczynam dostrzegać następujące błędy w przypadku niektórych z moich usług:
error TS4053: Return type of public method from exported class has or is using name 'Observable' from external module "node_modules/rxjs/Observable" but cannot be named.
Przeważnie rozumiem problem, ale nie znam rozwiązania. Jeśli zaimportuję Obserwowalne do usługi, to maszynopisarka wyśle błędy, ponieważ technicznie nie jest on używany w tym pliku.
Jadąc z kątowym 1 była podobna paradygmat wzięliśmy we wszystkich aplikacjach ukazali złamać nasz kod siebie, ale być może trzeba zmienić podejście kątowe 2? Przyjrzałem się wielu innym przykładom Angula 2 i wszyscy robili to również w podobny sposób.
Niektóre przykłady byłby miły – DarkNeuron
nie rozumiałem swoje rozwiązanie. Czy możesz wyjaśnić mi jaśniej, co robić? –
Autor powiedział, że jeśli zaimportują 'Observable' jawnie (tj.' Import {Observable} from "node_modules/rxjs/Observable" '), to naprawi to błąd. To jest rozwiązanie. Problem, który powodował, że to rozwiązanie jest problematyczne, polega na tym, że ich linter uznał, że "Observable" nie jest używany. Rozwiązaniem dla * tego * było użycie "Observable" jako typu zwracającego (tj. 'Public create (user: User): Observable'). Zaktualizowałem swoją odpowiedź, aby wyjaśnić. –