【问题标题】:Change location with $location.path(path); ng-submit form用 $location.path(path); 改变位置ng-提交表单
【发布时间】:2015-10-22 11:46:12
【问题描述】:

我有表格:

<form name="myForm" ng-submit="save(myObject)">
...
<button type="submit" class="btn btn-primary" ng-click="changeLocation('/railway-connection')">Save </button>
</form>

如您所见,我想做两件事。提交表单后,它应该调用 save() 函数并保存数据,它还应该更改位置。

 $scope.save= function (myboject) {
    $scope.saveObj = angular.copy(myboject);

    console.log($scope.saveObj);
};

$scope.changeLocation(path){
    $location.path(path);
};

但它不起作用。如果我单击按钮,它会保存数据并输入方法 changeLocation() 但它不会更改位置。

如果我删除 ng-click 并将 $location.path('/next') 放在函数 save() (提交表单函数)中,它就可以工作。 但我希望它在 ng-click 中。

这怎么可能?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您不必同时使用 ng-submit 和 ng-click。正如 ng-submit 文档中所说:

    注意不要同时使用 ngClick 和 ngSubmit 处理程序导致“双重提交”。

    使用 ng-click 调用控制器中的保存函数。

    <form name="myForm">
        <button type="submit" class="btn btn-primary" ng-click="save(myobject)">Save</button>
    </form>
    

    并在保存功能中更改保存对象后的位置路径。

    $scope.save= function (myboject) {
       $scope.saveObj = angular.copy(myboject);
       console.log($scope.saveObj);
    
       $location.path('/next');
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 2017-12-24
      相关资源
      最近更新 更多