一尘不染

ng-change获得新值和原始值

angularjs

我正在使用ng-options从下拉列表中选择值。我希望能够将旧值与新值进行比较。ng-
change非常适合抓住下拉菜单的新值,但是如何同时获得新值和原始值?

<select ng-change="updateValue(user)" ng-model="user.id" ng-options="user.id as user.name for user in users"></select>

例如,假设我希望控制器记录以下信息:“您以前的user.name是BILL,您的当前用户名是PHILLIPE。”


阅读 573

收藏
2020-07-04

共1个答案

一尘不染

使用有角的{{expression}},您可以将原先的user或user.id值作为文字字符串添加到ng-change属性中:

<select ng-change="updateValue(user, '{{user.id}}')" 
        ng-model="user.id" ng-options="user.id as user.name for user in users">
</select>

在ngChange上,updateValue的第一个参数将是新的用户值,第二个参数将是上一次用角度更新select-
tag并使用旧的user.id值时形成的文字。

2020-07-04