【问题标题】:How can I have both the before and after values of an input field available in an AngularJS controller?如何在 AngularJS 控制器中同时使用输入字段的前后值?
【发布时间】:2016-10-09 02:23:58
【问题描述】:

我是 AngularJS 的新手,正在为此苦苦挣扎,也许有人可以提供帮助。

假设我有一个输入字段,其中包含一些初始值,我允许用户更改该值并单击提交按钮。 onbeforesave 将给出更改前的值,而 onaftersave 将给出更改后的值。但是,在控制器中,我需要之前和之后的值。我不知道如何在一个功能中同时使用它们。这可能是一件简单的事情,但我就是想不通。谢谢。

【问题讨论】:

  • 我建议您查看ng-change查看此帖子,我相信这与您正在寻找的内容相似; ng-change

标签: javascript angularjs data-binding


【解决方案1】:

这实际上是一个愚蠢的问题..仍然是您需要的

  1. 如果您想要一个临时值并且用户在文本框中单击,它 应该清除。我们称之为占位符

<input type="text" placeholder="click me here..."
  1. 其次,如果您可能使用 angular,您将需要控制器文本框中的值,因此这会有所帮助。

var app = angular.module("myApp", []);

app.controller("myCtrl", function($scope) {
  var initialval=12; //initial value
  $scope.firstval=initialval;
  $scope.inputValue=initialval;
  
 
   
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="inputValue" />
  
  <table>
    <tr>
      <td>Initial value</td>
      <td>{{firstval}}</td>
      </tr>
    <tr>
      <td>Changing value</td>
      <td>{{inputValue}}</td>
      </tr>
</div>

【讨论】:

  • 我相信您可能误解了这个问题,@metrangia 希望能够同时看到新模型和旧模型。例如;当前型号; dog新型号; cat,@metrangia 想要访问两者。
  • 这看起来是对的,虽然如果有的话,比如说多个对象; user.id 和初始 id 是必需的,ng-change 是一个不错的选择!
猜你喜欢
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 2017-04-09
  • 2016-02-01
相关资源
最近更新 更多