我有一个Angular的表单,里面有两个按钮标签.一个按钮在ng-click
上提交表单.另一个按钮纯粹用于使用ng-click
的导航.然而,当点击第二个按钮时,AngularJS会导致页面刷新,从而触发404.我在函数中删除了一个断点,它正在触发我的函数.如果我执行以下任一操作,它将停止:
- 如果我go 掉
ng-click
,该按钮不会导致页面刷新. - 如果我注释掉函数中的代码,它不会导致页面刷新.
- 如果我将按钮标签更改为带有
href=""
的锚定标签(<a>
),那么它不会导致刷新.
后者似乎是最简单的解决方法,但是为什么AngularJS会在我的函数之后运行任何导致页面重新加载的代码呢?看起来像是个窃听器.
以下是表格:
<form class="form-horizontal" name="myProfile" ng-switch-when="profile">
<fieldset>
<div class="control-group">
<label class="control-label" for="passwordButton">Password</label>
<div class="controls">
<button id="passwordButton" class="secondaryButton" ng-click="showChangePassword()">Change</button>
</div>
</div>
<div class="buttonBar">
<button id="saveProfileButton" class="primaryButton" ng-click="saveUser()">Save</button>
</div>
</fieldset>
</form>
以下是控制器方法:
$scope.showChangePassword = function() {
$scope.selectedLink = "changePassword";
};