- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用管道和 map 从 Observable 中提取一个字符串值,但我最后总是得到一个空字符串。我希望有人能帮助我理解这个问题背后的原因。
我有一个从后端获取文件的 http 服务:
getFiles(url: string, idProject: number, docProject: string): Observable<any> {
return this.http.get(`${this.hostUrl}${url}/${idProject}/${docProject}`);
}
showFile = false;
fileUploads: Observable<string[]>;
.
.
.
showFiles(enable: boolean) {
this.showFile = enable;
if (enable) {
this.uploadService.getFiles('/projets', this.service.getProjet().idProjet,
'documentProjets/pv/'//+ td.nomTypeDoc +'/getallfiles')
.pipe(
map( response => {
return response.slice(
response.indexOf("files"),
response.lastIndexOf("?"))
})).subscribe(
(data) => {
this.fileUploads=data
console.log(data)},
(error) => console.log(error));
}
}
http://localhost:8080/api/v1/pv/files/file1.jpg?projetId=563, http://localhost:8080/api/v1/pv/files/file2.jpg?projetId=563
<button class="button btn-info" *ngIf='showFile' (click)='showFiles(false)'>Hide Files</button>
<button class="button btn-info" *ngIf='!showFile' (click)='showFiles(true)'>Show Files</button>
<div [hidden]="!showFile">
<div class="panel panel-primary">
<div class="panel-heading">Liste des fichiers</div>
<div *ngFor="let file of fileUploads | async">
<div class="panel-body">
<app-details-upload [fileUpload]='file'></app-details-upload>
</div>
</div>
</div>
</div>
ListUploadComponent.html:3 ERROR Error: InvalidPipeArgument: '' for pipe 'AsyncPipe' at invalidPipeArgumentError (common.js:3981) at AsyncPipe.push../node_modules/@angular/common/fesm5/common.js.AsyncPipe._selectStrategy (common.js:4590) at AsyncPipe.push../node_modules/@angular/common/fesm5/common.js.AsyncPipe._subscribe (common.js:4580) at AsyncPipe.push../node_modules/@angular/common/fesm5/common.js.AsyncPipe.transform (common.js:4562) at Object.eval [as updateDirectives] (ListUploadComponent.html:10) at Object.debugUpdateDirectives [as updateDirectives] (core.js:11054) at checkAndUpdateView (core.js:10451) at callViewAction (core.js:10692) at execComponentViewsAction (core.js:10634) at checkAndUpdateView (core.js:10457)
最佳答案
异步管道接受一个 Observable 并在模板中为您订阅,并在组件销毁时为您取消订阅。遵守在可观察流变量末尾使用 $ 的约定。
下列
<div *ngFor="let v of values$ | async">
{{v}}
</div>
<div *ngFor="let v of values">
{{v}}
</div>
this.values$.subscribe(values => this.values = values)
this.fileUploads$ = this.uploadService.getFiles('/projets', this.service.getProjet().idProjet,
'documentProjets/pv/'//+ td.nomTypeDoc +'/getallfiles')
.pipe( map( response => {
return response.slice(
response.indexOf("files"),
response.lastIndexOf("?"))
}))
this.fileUploads$ = this.yourService.pipe(
// tap(console.log),
map((responseUrls: string[]) => {
return responseUrls.map((url: string) => {
// some function that
// uses string methods
// or regex
// to return what you
// want e.g.
return url.slice(
url.indexOf(‘files’),
url.indexOf(‘?’)
)
})
})
// }),
// tap(console.log)
)
关于angular - 无效管道参数 : '' for pipe 'AsyncPipe' at invalidPipeArgumentError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349252/
我一直在研究使用共享的dart包进行存储的工作,并遇到了一个有趣的问题。 我有一个基本上如下的业务逻辑对象: class HomeBloc { final Firestore _firestore
我试图根据 *ngIf 中可观察到的 isComplex$ 值来显示 header 之一: 问题是 *ngIf 与 else 情况一起使用,而不等待 observable 发出值。如何完成
用例:我定义了 CustomError像这样: interface { message?: string; i18nMessage?: string; } 我定义了 DisplayErrorP
我试图根据 *ngIf 中可观察到的 isComplex$ 值来显示 header 之一: 问题是 *ngIf 与 else 情况一起使用,而不等待 observable 发出值。如何完成
所以我有点搞砸了观察者,我不明白为什么返回 interval 的方法不能使用 AsyncPipe 显示观察者数据。 component.ts import {interval} from "rxjs"
我最近又在探索 TypeScript。它的主要限制之一似乎是无法键入函数组合。让我首先向您展示 JavaScript 代码。我正在尝试输入以下内容: const getUserById = id =>
我有函数 renderImagePreview()为我提供文件的字符串表示。显然,这个函数是异步的。 private renderImagePreview(file: File): Observabl
所以当我尝试从 firebase 获取数据时我得到了这个 Invalid argument '{"-KCO4lKzEJPRq0QgkfHO":{"description":"teste","id":1
通过查看 AsyncPipe 中的 the way change detection is implemented,如果 ChangeDetectorRef 分离(正如在 here 中也确认的那样。
我有一个 asyncPipe像这样的功能: export function asyncPipe( ab: (a: A) => MaybePromise ): (a: MaybePromise) =
我正在使用一个组件来渲染表格之类的数据,我给它列列表、数据、数据如何映射到每列,最后是一个应用于每列数据的管道列表。 到目前为止一切顺利,唯一的问题是当这些管道之一是异步管道时...... 经过一段时
如何在 ngFor 中使用 AsyncPipe 或者什么是完成对列表项的异步调用的最佳实践? 示例:假设我有一个产品订单,我想显示产品的制造商。但是制造商需要从存储(localstorage)加载才能
如何在 ngFor 中使用 AsyncPipe 或者什么是完成对列表项的异步调用的最佳实践? 示例:假设我有一个产品订单,我想显示产品的制造商。但是制造商需要从存储(localstorage)加载才能
在上一个问题中 here ,我试图仅在日期在 2 条消息之间发生变化时才显示日期。 区别在于我现在连接到一个实时数据库 (Firebase),所以我订阅了数据源并在通过索引和 *ngIf 之前通过异步
我正在尝试使用管道和 map 从 Observable 中提取一个字符串值,但我最后总是得到一个空字符串。我希望有人能帮助我理解这个问题背后的原因。 我有一个从后端获取文件的 http 服务: get
{{!!(result$ | async)}} 我希望它是空白然后显示 true .令人惊讶的是,它显示 false然后 true . {{}}是否有不同的评价机制和 *ngIf ? re
我有异步管道和观察者组合的问题。我一直在尝试创建一个带有“玩家”和 app.component 的 team.service,它将获取该数据。我收到以下错误: InvalidPipeArgument:
我知道有人问过这个完全相同的问题: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe' / angularfire2 [duplic
我知道有人问过这个完全相同的问题: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe' / angularfire2 [duplic
AsyncPipe 与 BehaviorSubject 配合使用,但我不想用空数据初始化我的服务,因此我使用 Subject intead。 问题是 NgFor 和 asyncPipe 不适用于 Su
我是一名优秀的程序员,十分优秀!