如何使角改变值提交

How to make angular change value on submit?

本文关键字:提交 改变 何使角      更新时间:2023-09-26

是否有人能告诉我该怎么做,以便当我按下"提交"按钮时myName变量得到更新?谢谢!

app.js:

app.controller('SomeController', ['$scope', 'emails', function($scope, emails) {
  emails.success(function(data) {
    $scope.emails = data;
  });
    $scope.myName = "John"; 
}]); 

view.html

<div ng-controller="SomeController">
    <form name="messageForm" ng-submit="update(myName)">
      <input type="text" ng-model="myName"/>
        <h1>{{myName}}</h1>
      <input type="submit" value="Send Message"/>
    </form>
    </div>

只要你输入:

<input type="text" ng-model="myName"/>
<h1>{{myName}}</h1>

这只会在你点击提交时更新:

<form name="messageForm" ng-submit="update(myName)">
  <input type="text" ng-model="myName"/>
    <h1>{{myUpdatedName}}</h1>
  <input type="submit" value="Send Message"/>
</form>

在你的控制器上你应该有:

$scope.update = function(name) {
  $scope.myUpdatedName = name;
};

请记住,您的表单应该包装在任何组件声明您的SomeController…例如

<div ng-controller="SomeController">
  <!-- your form goes here -->
</div>

看起来你的控制器缺少更新功能:

app.controller('SomeController', ['$scope', 'emails', function($scope, emails) {
  emails.success(function(data) {
    $scope.emails = data;
  });
  $scope.myName = "John"; 
  $scope.update = function(name) {
    $scope.myName = name;
  };
}]);