相关疑难解决方法(0)

Angular2 ngModelChange以前的值

有没有办法在ngModelChange上获取字段的上一个(最后一个)值?我的东西是这样的

HTML

<input type="text" [(ngModel)]="text" (ngModelChange)="textChanged($event)">
Run Code Online (Sandbox Code Playgroud)

处理器

private textChanged(event) {
    console.log('changed', this.text, event);
}
Run Code Online (Sandbox Code Playgroud)

我得到的是

changed *newvalue* *newvalue*
Run Code Online (Sandbox Code Playgroud)

当然我可以使用另一个变量保留旧值,但有更好的方法吗?

angular2-ngmodel angular

25
推荐指数
3
解决办法
3万
查看次数

Angular2 下拉菜单恢复为之前选择的选项

我有这个简单的 HTML 选择来在 Angular2 (TS) 中实现下拉菜单,如下所示

<select id="pageSize" (change)="onPageSizeChanged($event, pagination.pageSize)">
  <option value="10">10</option>
  <option value="20">20</option>
  <option value="50">50</option>
</select>
Run Code Online (Sandbox Code Playgroud)

先前选择的值保持pagination.pageSize可变。在改变这一点时,我想打开一个对话框并等待用户响应。如果用户单击取消,我想将选择恢复为以前选择的选项。

onPageSizeChanged(event, oldValue) {
  const response = window.confirm("Are you sure you want change the page size? Your edits will be lost?");
  if (response) {
    //... some code ...
  } else {
    //... here I want to revert the selection to previously selected option
  }
}
Run Code Online (Sandbox Code Playgroud)

尝试了很多不同的事情,但没有运气。

请帮忙,我对这个简单的事情失去了理智。我一定是在做蠢事。


尝试 #1 - 没有用(Plunk - https://embed.plnkr.co/ILi12O/

<select id="pageSize" [ngModel]="pageSize" (ngModelChange)="onPageSizeChanged($event, pagination.pageSize)"> 
  <option value="10">10</option> …
Run Code Online (Sandbox Code Playgroud)

javascript select typescript dropdown angular

5
推荐指数
1
解决办法
8004
查看次数