Я немного запутался, как это сделать.Я продолжаю терять любые изменения, которые я делаю.У меня есть это в качестве декларации навигации по маршруту:
const route: Routes = [
...
{
path: 'configs',
redirectTo: 'configs/entry1'
},
{
path: 'configs/:name',
component: configPageComponent
}
...
Я хорошо ориентируюсь, но когда я прыгаю между именами, я теряю данные, которые я отредактировал в виде материала:
<div id="infoDiv">
<mat-form-field>
<input matInput id="settingsSearch" placeholder="Search">
</mat-form-field>
<mat-accordion>
<mat-expansion-panel #panel_{{databaseName}} expanded="true" hideToggle="true" (click)="changeSetting(this, $event)">
<mat-expansion-panel-header>
<mat-panel-title class="tableTitle">
<span style="display: flex; align-items: top;" class="{{arrowClass}}">
<svg xmlns="http://www.w3.org/2000/svg"
width="30"
height="30"
viewBox="0 0 30 20">
<path d = "M3 3 L3 17 L20 10 z" stroke = "#3e6487" stroke-width = "2" fill = "#5b9bd5"/>
</svg>
</span>
<span style="display: flex; align-items: center;" class="settingName">{{databaseName}} Settings</span>
</mat-panel-title>
</mat-expansion-panel-header>
<div style="display: flex; align-items: center;" *ngFor="let settingValues of dbSettings | async; let index = index; trackBy:trackByIndex;">
<span class="propertyKey" id="settingValues.configName">{{settingValues.configurationName}}</span>
<mat-form-field class="propertyValue">
<input matInput [(ngModel)]="settingValues.configValue" id="{{settingValues.configValue}}">
</mat-form-field>
</div>
</mat-expansion-panel>
</mat-accordion>
</div>
Я могу редактировать поля ввода, но когда я переключаюсь на другую запись в этом списке:
<div id="configList">
<h1>Services:</h1>
<mat-list>
<h3 matSubheader><span class="healthIconDiv">Health</span><span class="nameDiv">Service</span></h3>
<mat-list-item *ngFor="let listEntry of dbList | async; last as last">
<div class="healthIconDiv">
<div class="healthIcon">TBD</div>
</div>
<a routerLink="/config/{{listEntry}}" routerLinkActive="active" class="nameDiv listName">{{listEntry}}</a>
<mat-divider [inset]="true" *ngIf="!last"></mat-divider>
</mat-list-item>
</mat-list>
<div class="healthIconDiv">
<div class="healthIcon goodHealth"></div><div class="healthStatus">Healthy</div>
</div>
<div class="healthIconDiv">
<div class="healthIcon badHealth"></div><div class="healthStatus">Poor Health</div>
</div>
</div>
Я теряю то, что отредактировал.Как сохранить данные, которые я отредактировал, когда я переключаюсь на конфигурацию данных другой базы данных?
Это может помочь:
page: https://angular -w6bzvw.stackblitz.io /конфигурация
редактировать: https://stackblitz.com/edit/angular-w6bzvw