首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-change获取新值和原始值

ng-change获取新值和原始值
EN

Stack Overflow用户
提问于 2014-10-29 08:55:08
回答 7查看 144.2K关注 0票数 122

我使用ng-options从下拉菜单中选择值。我希望能够将旧值与新值进行比较。ng-change可以很好地获取下拉列表的新值,但是如何同时获取新值和原始值呢?

代码语言:javascript
复制
<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。”

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-01-20 21:56:18

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

代码语言:javascript
复制
<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值。

票数 281
EN

Stack Overflow用户

发布于 2016-03-02 15:27:41

您还可以使用

代码语言:javascript
复制
<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>
票数 17
EN

Stack Overflow用户

发布于 2016-03-01 14:23:06

您可以使用类似ng-change=someMethod({{user.id}})的内容。通过将你的值保存在{{ expression }}中,它将计算内联表达式,并给出当前值(调用ng-change方法之前的值)。

代码语言:javascript
复制
<select ng-model="selectedValue" ng-change="change(selectedValue, '{{selectedValue}}')">
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26621104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档