来自ng-book:
我们使用ng-submit将表达式绑定到onsubmit事件。该指令还可以阻止默认操作(发送请求并重新加载页面),但仅限于表单不包含操作属性。
上段是什么意思?
答案 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()
方法。