У меня есть форма в Angular, в которой есть две кнопки-теги. Одна кнопка отправляет форму на ng-click
. Другая кнопка предназначена исключительно для навигации ng-click
. Однако, когда нажимается эта вторая кнопка, AngularJS вызывает обновление страницы, которое вызывает 404. Я сбросил точку останова в функции, и она вызывает мою функцию. Если я сделаю любое из следующего, он остановится:
- Если я удаляю
ng-click
, кнопка не вызывает обновления страницы. - Если я закомментирую код в функции, это не приведет к обновлению страницы.
- Если я поменяю тег кнопки на тег привязки (
<a>
) с помощьюhref=""
, то это не вызовет обновления.
Последнее кажется самым простым решением, но почему 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";
};