Angular 为什么角度教程不需要导入可观察
如果您查看angular教程,它们不会像其他人一样导入observable,也不会导入authService 以下是我为让ts不抱怨所做的:Angular 为什么角度教程不需要导入可观察,angular,typescript,angular4-httpclient,Angular,Typescript,Angular4 Httpclient,如果您查看angular教程,它们不会像其他人一样导入observable,也不会导入authService 以下是我为让ts不抱怨所做的: import { AuthService } from './auth.service'; import { Observable } from 'rxjs/Observable'; import { Injectable } from '@angular/core'; import { HttpEvent, HttpInterceptor, HttpHa
import { AuthService } from './auth.service';
import { Observable } from 'rxjs/Observable';
import { Injectable } from '@angular/core';
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(private auth: AuthService) {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// Get the auth header from the service.
const authHeader = this.auth.getAuthorizationHeader();
// Clone the request to add the new header.
const authReq = req.clone({headers: req.headers.set('Authorization', authHeader)});
// Pass on the cloned request instead of the original request.
return next.handle(authReq);
}
}
从“/auth.service”导入{AuthService};
从“rxjs/Observable”导入{Observable};
从“@angular/core”导入{Injectable};
从'@angular/common/http'导入{HttpEvent,HttpInterceptor,HttpHandler,HttpRequest};
@可注射()
导出类AuthInterceptor实现HttpInterceptor{
构造函数(私有身份验证:身份验证服务){}
截取(req:HttpRequest,next:HttpHandler):可观察{
//从服务获取身份验证标头。
const authHeader=this.auth.getAuthorizationHeader();
//克隆添加新标头的请求。
const authReq=req.clone({headers:req.headers.set('Authorization',authHeader)});
//传递克隆请求而不是原始请求。
返回next.handle(authReq);
}
}
他们是在做我没有做的事情,还是他们只是跳过导入以使教程缩短两行
以下是我为让ts不抱怨所做的
这是正确的版本。这些文件根本不准确/过时。给他们发一份公关
为了代码的可读性,这里没有显示,但是如果您通过
他们的教程:
这里有到现场演示的链接:
在这里你可以清楚地看到所有的进口商品
文件:app/hero-search.component.ts
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
// Observable class extensions
import 'rxjs/add/observable/of';
// Observable operators
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
为了简洁起见,我看起来他们省略了任何非角度导入。据我所知,没有什么魔法可以消除你提到的进口需求。好的,谢谢。这就是我的假设,但我希望我能施展魔法。