ng-submit防止默认操作 - 意思是什么?

时间:2017-04-15 14:47:23

标签: angularjs

来自ng-book:

我们使用ng-submit将表达式绑定到onsubmit事件。该指令还可以阻止默认操作(发送请求并重新加载页面),但仅限于表单不包含操作属性。

上段是什么意思?

2 个答案:

答案 0 :(得分:1)

这意味着:

<form ng-submit="submit()"></form>

将阻止提交事件。永远不要将表单发布到您的服务器。

<强>但是

<form ng-submit="$ctrl.submit()" action="/url" method="post"></form>

会阻止默认的提交事件。 如果您什么都不做,您的表单将被视为经典的html表单,并将结果发布到服务器上的/ url(在控制器的提交代码之后)。

要防止出现这种情况,您需要以这种方式提交事件:

<form ng-submit="$ctrl.submit($event)" action="/url" method="post"></form>

在你的控制器中:

function submit(event) {
  event.preventDefault();
}

答案 1 :(得分:0)

  • 如果<form>标记具有以下两个属性:<form ng-submit="submit()" action="http://example.com">在这种情况下,它将调用&#34; submit()&#34;方法以及它也将重定向到行动链接。
  • 但如果它只有ng-submit并且没有操作属性:<form ng-submit="submit()">在这种情况下,提交时不会重定向,只会执行submit()方法。