如何在 ng-submit 中更改函数 angularjs

How to change function in ng-submit angularjs

当我想将创建的表单转换为更新表单时会出现这种情况,所以我需要在 ng-submit 中将 create() 更改为 update()。我怎样才能做到? .具体例子:

<form name="articleForm" class="form-horizontal" ng-submit="create()" novalidate>

<form name="articleForm" class="form-horizontal" ng-submit="update()" novalidate>

谢谢!

您可以使用 ng-if 确定需要哪个,或者使用相同的函数并在函数内部检查您是否处于创建或更新模式。 您还可以使用指令并将函数传递给您的指令,具体取决于您希望如何使用此表单,因为这对我来说不是很清楚。

怎么样:

<form name="articleForm" class="form-horizontal" ng-submit="submit()" novalidate>

然后在你的控制器中有这样的东西:

$scope.isNewUser = typeof $scope.user.id === 'undefined';

function create() {...}
function update() {...}

$scope.submit = function () {
    $scope.isNewUser ? create() : update();
}

define $scope.isCreate=true;// true 表示创建,false 表示更新 在 Angular 控制器中 形式

<form novalidate ng-submit="isCreate?create():update()">

只需使用一个三元组和 $scope 中定义的一个变量:

<form name="articleForm" class="form-horizontal" ng-submit="isCreation? create() : update()" novalidate>

在你的控制器中定义:

$scope.isCreation = true;

并在您希望触发 update() 时将其更改为 false

稍晚但有用

      <form class="form-horizontal"  name="BannerForm"  
       ng-submit="call(submitOption)" novalidate>


 //**For MultiSubmit
   $scope.call = function(expr) {
    return $scope.$eval(expr);
  };

//For InsertNew
    $scope.InsertData= function(){
    $scope.submitOption="add()";
    }


//For UpDate
    $scope.UpdateData= function(){
    $scope.submitOption="update()";
    }