当前位置: 首页 > 面试题库 >

ng-change获得新值和原始值

黄君博
2023-03-14
问题内容

我正在使用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。”


问题答案:

使用有角的{{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值时形成的文字。



 类似资料:
  • 如何获取字段的“真实”值? 我有一个框,我使用的是较新的HTML5输入类型: 这在Chrome29中得到了支持: (至少在Chrome 29中) 如何获取控件的“原始”值? 我试着浏览了Chrome的输入框的其他属性列表: null

  • 问题内容: 有没有办法从获取原始/原始JSON值? 问题: 现在是,但是我需要原始字符串。 有没有办法获得这个原始价值?另外,我无法更改创建方式(例如更改设置),因为它作为参数传递给我的课程… (参考:原始的NJsonSchema问题) 问题答案: 您无法获取原始字符串,无法识别日期字符串并将其转换为自身内部的结构。如果您这样做,则可以看到以下内容: 但是,您可以通过执行以下操作以ISO 8601

  • 问题内容: 我有以下HTML 这是由以下对象与国家/地区列表馈赠的 当我更改下拉列表值时,我期望在filterByCountry函数中更新我的模型($ scope.country),但不是。我在这里想念什么? 问题答案: 在该处理之前触发实际更新。如果您想在每次更改时都被解雇(而不是仅在下拉列表更改时被解雇),则应使用以下代码: 我总是发现,在可能的情况下,对我的事件而不是DOM事件的更改做出反应

  • 问题内容: 我在视图中有一个附加的项目清单: 我正在处理指令中函数中的click事件,将其作为对被单击对象的引用,但是我得到的是对标签的引用,而不是对标签的引用。然后,我必须做这样的事情才能得到: 有没有一种简单的方法可以获取对绑定元素的引用,而无需在我的指令中执行DOM操作? 问题答案: 您需要代替。

  • 问题内容: 我正在尝试使用数组来过滤并在列表中显示信息。为此,我使用了inbuild 方法。 但是我遇到了错误。 这是我的尝试(我通过过滤) 现场演示 问题答案: AngularJS 默认不包含过滤器。您可以使用angular- filter中的 那个。只包含JavaScript 并在您的应用中添加依赖项: 您的代码应立即生效!我编辑了您的Plunker,使其正常工作。

  • 问题内容: 给定以下选择元素 有没有办法使MAGIC_THING等于当前选择的大小,因此我可以访问并在我的控制器中? size.code影响了应用程序的许多其他部分(图像网址等),但是当的ng-model 更新时,面向用户的东西也需要更新。我认为执行此操作的正确方法是捕获更改事件并在控制器内部设置值,但是我不确定可以将哪些内容传递给update以获取正确的值。 如果这是完全错误的解决方法,我很想知