我使用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。”
发布于 2015-01-20 21:56:18
使用角度{{ user.id }},您可以将旧的user或expression值作为文字字符串添加到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的第一个参数将是新的用户值,第二个参数将是angular最后一次更新选择标记时形成的文字,使用旧的user.id值。
发布于 2016-03-02 15:27:41
您还可以使用
<select ng-change="updateValue(user, oldValue)"
ng-init="oldValue=0"
ng-focus="oldValue=user.id"
ng-model="user.id" ng-options="user.id as user.name for user in users">
</select>发布于 2016-03-01 14:23:06
您可以使用类似ng-change=someMethod({{user.id}})的内容。通过将你的值保存在{{ expression }}中,它将计算内联表达式,并给出当前值(调用ng-change方法之前的值)。
<select ng-model="selectedValue" ng-change="change(selectedValue, '{{selectedValue}}')">https://stackoverflow.com/questions/26621104
复制相似问题