我目前使用的是 Angular 6.1.5。当网站路由到不同页面时,我希望页面滚动回顶部。我尝试使用{ scrollPositionRestoration: 'top' }但它不起作用。
这是我在 app.routing.ts 中的代码。
export const routing = RouterModule.forRoot(appRoutes, { scrollPositionRestoration: 'top' });
Run Code Online (Sandbox Code Playgroud)
有替代方案吗?我尝试从“顶部”更改为“启用”,但效果不佳。我也尝试window.scrollTo(0,0);将其放入ngOnInit(),但也不起作用。
我的项目中有一个日期输入,我想将最小/最大日期设置为当前日期。如何在 Angular 6 中实现这一目标?
我试图添加let date = new Date();到我的 ngOnInit 并将 HTML 文件中的最大值添加到,{{this.date}}但它不会禁用未来的日期。
HTML
<input type="date" formControlName="dob" class="form-control" id="dob" max="{{this.date}}">
Run Code Online (Sandbox Code Playgroud)
TS
ngOnInit() {
let date = new Date;
}
Run Code Online (Sandbox Code Playgroud) 我想获取每一行中输入的值并获取这些行的总和。
我的 HTML:
<ng-container formArrayName="cap_values">
<tbody *ngFor="let item of capValues.controls; let i=index" [formGroupName]="i">
<tr>
<td class="freeze-first-col"><input type="text" (blur)="getName(item.value.name)" formControlName="name"></td>
<td><input type="number" formControlName="fdnTotalShares"</td>
</tr>
</tbody>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
我的.ts:
ngOnInit() {
this.form = this.fb.group({
cap_values: this.fb.array([this.fb.group({
name: '',
fdnTotalShares: '',
}
)])
})
}
Run Code Online (Sandbox Code Playgroud)
如何遍历数组中的每个值并求和?我见过.valueChanges但不完全确定如何使用它。
我知道我们可以valueChanges在 FormArray 上使用并在键入时查看更改。我的问题很简单:如何执行array.at(i).patchValuein valueChanges?我需要知道我键入值的行的索引并更新FormControls。我想要实现的是例如在计算器中,我想在添加两个数字时动态显示该值,而无需在输入字段外单击。
ngOnInit() {
this.form = this.fb.group({
fdnUnitPrice: [''],
cap_values: this.fb.array([this.fb.group({
name: '',
fdnTotalShare: '',
fdnVal: '',
}
)])
})
this.onValChanges();
}
onValChanges(): void {
this.capValues.valueChanges.subscribe(val => {
console.log(val.length)
})
}
Run Code Online (Sandbox Code Playgroud)
在我上面的代码中,结果应该是什么fdnVal,当我fdnUnitPrice与相乘时它应该显示值fdnTotalShare。下一行可能会有不同的值fdnTotalShare,所以fdnVal应该不同。