我有一个带有离子离子列表的配置屏幕,用户可以在列表中添加项目,同时显示列表的当前条目.我希望用户能够通过按钮添加新项目.新项目不应立即保存到firebase - 用户必须按下保存按钮才能执行此操作.目前我的代码看起来像这样
<ion-list *ngIf="regimeList">
<ion-list-header color="secondary">Items
<button class="my-select" ion-button outline item-end (click)="addItem()">+</button>
</ion-list-header>
<ion-item *ngFor="let item of itemList">
{{item.name}}
</ion-item>
</ion-list>Run Code Online (Sandbox Code Playgroud)
itemList的数据来自一个带有一点映射/格式化的observable:
this.$ref = this.database.list('/items/' + uid);
this.$ref.subscribe(snapshot => { this.map2itemList(snapshot) });
Run Code Online (Sandbox Code Playgroud)
当用户点击离子按钮时,他会弹出一个可以输入新项目的弹出窗口.按"确定",新条目应显示在列表中,但不保存到firebase.所以我不能使用
this.$ref.push(myNewItem);
Run Code Online (Sandbox Code Playgroud)
由于可观察,数据将直接提交并更新我的视图.分离这两个行动的好策略是什么?先感谢您.