问题标签 [angular7]
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.
angular - 如何在 ngrx/effects 中访问解析器数据?(v7)
我在组件中有 api 调用,这很耗时,所以我实现了解析器。我希望解析器数据存在于 store中,以供以后使用。我已经实现了ngrx/store、ngrx/effects和ngrx/router-store。
组件中的当前状态
期望的状态
为了保存解析器数据,我需要访问有效的解析器数据。所以我可以简单地在组件中调度动作并订阅状态。
- 组件中的调度操作(LoadSubTopicDetails)
- effects 将监听 action 并在 effects 中访问相同的解析器数据
问题
我总是{}
在 CustomSerializer 的“数据”中变空。
如何在效果中访问解析器数据?提前致谢。
代码
reducers / index.ts (CustomSerializer)
减速器 / router.selector.ts
组件.ts
json - 在 Angular 7 项目中导入 JSON
在我的 Angular 项目中,我正在为我自己的小型本地化服务导入 JSON 文件。我正在使用这里建议的方法,将我的更新typings.d.ts
为
这对 Angular 6 来说效果很好,但是在更新到 Angular 7 之后,当我尝试访问一个属性时,我的导入似乎是未定义的。
JSON 有一个非常简单的 key => value 结构:
6.1 和 7 之间发生了什么变化可能导致这种行为?
angular - 升级到 Angular 7 后,ngrx 立即出错
error TS2345: Argument of type '(source$: Observable<RootState>) => Observable<any>' is not assignable to parameter of type 'OperatorFunction<RootChildState, any>'
在升级之前一切都运行良好。
是什么导致了这个错误?我该如何解决?
jquery - 在 Angular 中将一个 DIV 元素移动到另一个 DIV 元素中
我正在使用Angular 中的Jquery代码,我想将一个 DIV 元素移动到另一个元素中 这是我的代码
.ts 文件
.html 文件
但我的代码不起作用可能是因为 detach() 、 parent() 、 attr() 不起作用。
angular - 错误:无法解析位置的所有参数:(?)在 angular7 webpack 应用程序中
在本地运行我创建的 node.js-angular7-webpack4.21 应用程序时,我的浏览器中出现以下错误,该应用程序不是使用 angular-cli 创建的:
我对这个问题进行了广泛的研究。首先,我没有任何组件、服务或其他命名的“位置”,所以我不知道编译器难以解析的实体的参数。其次,我的整个应用程序中只有 4 个服务,没有一个是相互指向的,所以这不是循环依赖问题。我也没有忘记将“@Injectable()”装饰器正确地放入任一服务文件中。真的,经过三重和八重检查,这不是问题。
此外,我用一个空的 angular6 项目重现了这个问题,该项目由 0 个服务和只有 1 个组件组成,其模板中的 div 中只有一个单词,在这种情况下,我只收到关于“ApplicationModule”而不是“Location”的相同错误。所以即使我没有 webpack 错误,我认为问题出在我的 webpack 配置中,因此我将把 webpack.config.js 和 tsconfig.js 文件放在下面,希望有人能找到关于它们的一些非常愚蠢的东西。
这是我的 tsconfig.json:
这是我的 webpack.config.js:
感谢你们。
angular - 提前输入:Observable.create(...).mergeMap 不是函数
我正在使用 ngx-bootstrap 3.0.1,并且我已将我的应用程序从 Angular 6.1.3 升级到 7.0.0 并得到错误mergeMap is not a function:
CfComponent_Host.ngfactory.js?[sm]:1 错误类型错误:rxjs_Observable__WEBPACK_IMPORTED_MODULE_4__.Observable.create(...).mergeMap 不是函数
使用的代码如下所示:
使用 Angular 6.1.3 代码工作
旧的:“rxjs”:“^6.2.2”,“rxjs-compat”:“^6.1.0”,新的:“rxjs”:“^6.3.3”,“rxjs-compat”:“^6.3.3 "
谢谢你的任何线索
angular - 升级到版本 7 后未加载 Angular Material App
当我将我的应用程序升级到 Angular、Angular Material 和 CLI 的第 7 版时。 我的应用程序挂在加载屏幕上。经过大量挖掘后,我找到了问题的根源,它与Angular CDK的BreakpointObserver有关。
以下是重现问题的方法:
- 创建一个新的 Angular 7 应用程序
- ng 添加@angular/material
在 AppComponent 中添加以下 getter:
构造函数(私有断点观测器:断点观测器){}
get height(): Observable { return this.breakpointObserver.observe([Breakpoints.Handset]) .pipe(map(bp => bp.matches ? 100 : 50)); }
将以下内容添加到 AppComponent 模板中的元素:
[style.minHeight.px]="高度 | 异步"
有人知道这里有什么问题吗?它是 Angular CDK 中的错误吗?
我已经在 Angular 问题中发布了一个问题: https ://github.com/angular/angular/issues/26586
但是这个问题被关闭了,因为它没有被承认是一个错误。
angular - Angular 7 升级:RxJs switchMap 和 ObservableInput 的返回类型
此代码在 Angular 6 中编译和工作:
升级到 Angular 7 后,我得到这个编译时错误:
角度版本:
看起来我必须为 switchMap 返回 ObservableInput,但是如何?
任何帮助表示赞赏。