Hansana Prabath Asked: 2024-11-18 18:08:29 +0800 CST2024-11-18 18:08:29 +0800 CST 2024-11-18 18:08:29 +0800 CST 如何将 Angular 信号的值重置为其默认值? 772 我正在开发一个使用 @angular/core 信号功能的 Angular 应用程序。我有一个信号,它最初保存一个默认值,但其值会根据整个应用程序中的用户操作而改变。我如何将此信号重置为其默认值? 附加信息:Angular 版本:v18 angular 1 个回答 Voted Best Answer Naren Murali 2024-11-18T18:12:34+08:002024-11-18T18:12:34+08:00 据我所知,没有办法将信号重置回初始状态,但我们可以在属性中声明初始值,然后使用该set方法将信号重置为其初始值。 import { Component, signal } from '@angular/core'; import { bootstrapApplication } from '@angular/platform-browser'; @Component({ selector: 'app-root', standalone: true, template: ` <input [value]="input()" (input)="setInput($event)"/> <button (click)="resetToDefaults()">reset</button> `, }) export class App { defaultInputVal = 'defaultValue'; input = signal(this.defaultInputVal); setInput(event: any) { this.input.set(event?.target?.value); } resetToDefaults() { this.input.set(this.defaultInputVal); } } bootstrapApplication(App); Stackblitz 演示
据我所知,没有办法将信号重置回初始状态,但我们可以在属性中声明初始值,然后使用该
set
方法将信号重置为其初始值。Stackblitz 演示