1.使用cnpm安装jQuery和bootstrap后,页面没有加载的问题
-使用cnpm安装的路径和使用npm安装路径不一样,解决如下:
把css路径改成
"../node_modules/_bootstrap@3.3.7@bootstrap/dist/css/bootstrap.min.css"
使用node_modules里的带版本号的文件,原因是nodee_modules下的bootstrap只是一个快捷方式,不信你打开目录看下,如果是用webstorm开发的话,仔细看下文件夹右上角是不是带有一个箭头。
2.Property 'map' does not exist on type 'Observable'
解决方案:增加import 'rxjs/add/operator/map'
3.修复4.0后http请求错误的问题:unused import {httpModule} from '@angular/http'或者NullInjectorError: No provider for Http
解决方案:
1)引入
import {HttpClient} from "@angular/common/http";
import * as _ from 'lodash';
2)修改调用
.map(data => _.values(data))
附参考地址:https://segmentfault.com/a/1190000010259536
4.anguar5 http proxy 代理设置无效
解决方案:URL地址后增加/*,如:“api/”改为“api/*”,还需要增加一个pathRewrite节点
"/api/*": {
"target": "http://localhost:26220/api",
"changeOrigin": true,
"secure": false,
"logLevel": "debug",
"pathRewrite": {"^/api" : ""}
具体pathRewrite节点的配置不太明白,应该是一个地址重写,将以“/api”开头的请求重写为空,根据日志打印出来的内容为:
[HPM] Rewriting path from "/api/product" to "/product"
[HPM] GET /api/product ~> http://localhost:26220/api
先重写了路径为“/product”,然后发起get请求后target到了 http://localhost:26220/api下,如果连起来就是访问http://localhost:26220/api/product
最后放上参考链接:https://stackoverflow.com/questions/43616755/angular-cli-proxy-doesnt-work
5.angular5 下的observable问题,webapi接口返回了product[]数据,angular接收时转换为product[]时颇费周折,看视频中直接json就行了,其实angular4的http模块已经升级为httpclient了,而且调用方法也有所不同,试了很多种方法都不行,最后发现直接在get后要定义的格式即可,如下所示:
getProducts(): Observable<Product[]> {
const products = this.http.get<Product[]>('/api/product');
return products;
}
终于解决了。。。。
6.httpClient 发起get请求拼接请求参数使用reduce失效的问题,原本使用的方法如下:
Object.keys(params).filter(key => params[key]).reduce((sum: HttpParams, key: string) => {
sum.set(key, params[key]);
return sum;
}, new HttpParams());
修改之后的方法如下:
Object.getOwnPropertyNames(params)
.reduce((p, key) => p.set(key, params[key]), new HttpParams());
参考链接:https://github.com/angular/angular/issues/18012
跟着一个angular4的视频学习angular,我本地是angular5,前面基础知识还好,到这个http这块问题不少,一个坑接着一个坑。。。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现