问题标签 [angular6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
httprequest - Http post and get request in angular 6
In angular 5.2.x for http get and post I had this code:
In angular 6 it doesn't work.
How can we make an HTTP post or get request?
angular - 如何将 Three.js 加载器导入 Angular 6 项目
我想使用 Three.js ( @types/three/index
) 扩展导入到 ng6 项目中的类型定义,其中包含一组将直接附加到相同“命名空间”的函数。类似的东西:THREE.myFunction()
。我不想声明 THREEany
来抑制类型检查和 linter,我想可以包装一个使用 TS 类/函数扩展 THREE 的 vanilla JS 函数,然后利用typings.d.ts
.
导入加载器
首先,我想在我的项目中导入一个 THREE.js 加载器,这通常定义了一个扩展的 vanilla 函数THREE
。
我正在尝试将其导入BinaryLoader
ng 服务,但我不确定如何以正确的方式进行操作。
到目前为止我做了什么:
npm install three --save
npm install @types/three --save-dev
import * as THREE from 'three';
- 将 BinaryLoader 添加到新的angular.json
scripts
数组
角.json
到目前为止一切顺利,但现在我需要创建一个二进制加载器:
我必须找到BinaryLoader
以@types/three/index
某种方式添加的方法。这样,我应该能够扩展类型定义以便能够创建新类型THREE.BinaryLoader
。有可能做这样的事情吗?
我得到的警告是:
./src/app/shared/three-manager.service.ts 24:25-43 中的警告“在‘三’中找不到导出‘BinaryLoader’(导入为‘三’)
静音类型警告和 TS 转译器
摆脱警告和错误的解决方法可能是这样的:
事实上,我认为这种解决方法是一个非常丑陋的“修复”。我想尽可能地使用类型系统。
编辑:获取示例以与 Intellisense 和 Typescript 配合使用
在等待完全重写示例以与 ES6 模块和命名空间兼容时,可以定义一个本地模块来公开和增强全局,在/src/node_modules/three-extras/index.ts
:
通过:https ://github.com/mrdoob/three.js/issues/9562#issuecomment-386522819
相关且有用的 SO 答案:
angular - WebStorm - 参数类型 {providedIn: "root"} 不可分配给参数类型 {providedIn: Type| “根” | 空} & InjectableProvider
我正在尝试将我的应用程序从 Angular v5 迁移到 v6,并且在尝试providedIn
在我的提供程序中指定时遇到以下打字稿错误
参数类型 {providedIn: "root"} 不可分配给参数类型 {providedIn: Type | “根” | 空} & InjectableProvider
我从 Angular 文档https://angular.io/guide/dependency-injection复制并粘贴了代码
任何的想法?
更新
我创建了一个空白项目ng new ...
并添加了一个提供程序ng g service my-new-service
,在 WebStorm 中打开了该项目,一切正常,我没有遇到该虚拟项目的任何错误
更新
我联系了 WebStorm 支持,原来这是 WebStorm 的一个已知错误https://youtrack.jetbrains.com/issue/WEB-32634
更新
Webstorm 2018.1.4(尚未发布)应该可以解决问题,请参阅https://youtrack.jetbrains.com/issue/WEB-32634
更新
Webstorm 团队将修复程序移至 2018.1.5
更新
2018 年 6 月 17 日星期日,Webstorm 修复已发布
angular - 更新到 Angular v6 - 未找到模块:错误:无法解析“fs”
我正在尝试将我的 Angular Universal 项目从 Angular v5 迁移到 v6
我有一项服务,用于fs
在服务器端加载翻译。Angular v5 一切正常。
使用 Angular v6,当我运行npm run start
aka时,ng serve --proxy-config proxy.conf.json
我遇到以下错误
./src/providers/core/translate/translate-universal-loader.service.ts 中的错误找不到模块:错误:无法解析“/Users/me/Documents/projects/myproject/src/providers”中的“fs” /核心/翻译'
在我的服务中,我声明fs
如下:
我也尝试像下面这样声明它,但没有帮助
为了告诉 webpack 忽略 fs 我尝试在我的中添加以下内容webpack.server.config.js
但没有成功
也尝试了一个 webpack 插件,也没有成功
但实际上它可能不是使用的配置,ng serve
但我不知道我是否仍然可以使用 v6 弹出配置?
有人有想法吗?
更新
如果我声明 fs 因为any
它解决了问题,但不幸的是它在服务器端运行ng serve
后将无法工作。在服务器端,我将面临以下错误npm run build:ssr
npm run serve
错误 ReferenceError: fs 未定义
ps:我的项目遵循https://github.com/angular/universal-starter结构、配置和依赖
javascript - 角度 6 依赖注入
在 Angular 6 的最新版本中,使用providedIn
服务元数据中的属性在模块中注册服务:
然而,文档仍然提到providers
在模块元数据中的模块数组中注册服务,就像我们在 Angular 5 中所做的那样:
所以,
- 应该使用哪种方法让注入器知道它应该注入的服务?
- 模块
providers
数组方法会被弃用吗?
javascript - 带有凭据的Angular 6 httpClient Post
我有一些代码可以发布一些数据以创建数据记录。
它在服务中:
这是代码:
我的问题是......我该怎么做 url 要求用户登录......我如何传递凭据?
angular - Angular 6:为“root”提供 HTTP_INTERCEPTORS
随着从在 AppModule 中提供服务的 Angular 5 更改为在 @Injectable 装饰器中设置“provideIn”键的 Angular 6,我已将所有服务更改为使用新的“provideIn”方法。但是,我的拦截器服务例外。
如何为“root”提供 HTTP_INTERCEPTORS 令牌并使用 InterceptorService?
这是我使用 atm 的 Angular 5 方式:
在 AppModule 中:
但是Angular 6的方式是什么?
我试过类似的东西
以及许多其他带有 Injectable 的变体,但似乎无法弄清楚如何在不将对象文字直接写入模块提供者的情况下使其工作。
angular - 更新 Angular 和 RxJS 5 到 6 后编译错误
将库更新到新的 Angular 6 和 RxJS 6 后,我遇到了问题。
我有RouteService
作为服务工作的课程。它用于HttpClient
从远程 API 获取数据。更新后,当我尝试编译项目时遇到一些奇怪的错误。
这是我的服务类:
这是handleError方法:
在ng serve
我收到错误后:
我究竟做错了什么?我的代码是否有问题导致新版本出错但在旧版本中工作?还是有什么改变?
angular - Angular 6 - httpClient 发布 XML 文件
我正在使用 Angular 6 httpClient 并在服务中有此代码:
我的问题是:我想发布一个 xml 文件,那么如何修改此代码来做到这一点?
angular - 检测AngularFire2存储上传完成的时间
我正在将一个站点从 Angular 4 堆栈迁移到新的 Angular 6 和 AngularFire 2 堆栈。AngularFire 2 方法似乎发生了一些变化。
我有以下代码:
我想检测上传何时完成,并且.on(firebase.storage.TaskEvent.STATE_CHANGED
我在旧版本中使用的功能似乎不再存在。
如何检测上传完成的时间?