我遇到了以下代码,其中ngProjectAs
在ng-container
. 它用于什么以及它解决什么问题?
<mat-form-field [formGroup]="group">
<input matInput [formControlName]="field.name">
<ng-container *ngFor="let validation of field.validations;" ngProjectAs="mat-error">
<mat-error *ngIf="group.get(field.name).hasError(validation.name)">{{validation.message}}</mat-error>
</ng-container>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud) 这就是我的问题的要点。假设您有一个处理 2-3-4-10 个操作的服务。为了在多个组件中进行交流,您有 2-3-4-10 个主题。
那么,是最好有 1 个主题,然后传入一个对象来标识它所涉及的操作,并在您的订阅中进行过滤……还是有很多主题并单独订阅?
多少科目太多?他们或多或少在整个过程中同时保持活跃。
从某种意义上来说,我有点好奇,而不是我自己的用例以及它是否可以做得更好。
我构建了一个httpParams
接受键值对象的自定义函数,如下所示:
private httpParamsFactory(parameters: { [key: string]: string }): { params: HttpParams } {
const params: HttpParams = new HttpParams();
for (const [key, value] of Object.entries(parameters)) params.append(key, value)
return { params };
}
Run Code Online (Sandbox Code Playgroud)
我正在使用httpParamsFactory
如下:
remove = (id: string): Observable<boolean> => this.http.delete<boolean>(`some/url`, this.httpParamsFactory({ id }))
Run Code Online (Sandbox Code Playgroud)
尽管我付出了努力,但我无法在 URL 中包含查询字符串,我尝试调试httpParamsFactory
,但结果发现查询字符串没有被附加,如console.log(params.keys())
报告的空数组。
尝试使用新引入的 C# 11 功能原始字符串文字,如以下示例所示:
_logger.LogCritical($"""
new value: {value}
computed new value : {value / 100}
old value: {UwpMediaPlayer.Volume}
""");
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
行的开头空格与原始字符串文字的结束行不同
我的目标是弄清楚应该如何使用此功能以及我当前编写的代码有什么问题。
感谢您花时间阅读本文以及您可以提供的任何帮助。
angular ×3
c# ×1
c#-11.0 ×1
git ×1
git-branch ×1
javascript ×1
rxjs ×1
string ×1
typescript ×1