У мене є форма у кутовій, у якій є два теги кнопок. Одна кнопка подає форму на 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";
};