Kliknięcie przycisku w formularzu powoduje odświeżenie strony

Mam formularz w Angular, który zawiera dwa znaczniki przycisków. Jeden przycisk przesyła formularz dalejng-click. Drugi przycisk służy wyłącznie do nawigacjing-click. Jednak po kliknięciu tego drugiego przycisku, AngularJS powoduje odświeżenie strony, która wyzwala 404. Porzuciłem punkt przerwania w funkcji i uruchamia on moją funkcję. Jeśli wykonam jedną z następujących czynności, zatrzymuje się:

Jeśli usunęng-click, przycisk nie powoduje odświeżenia strony.Jeśli skomentuję kod w funkcji, nie spowoduje to odświeżenia strony.Jeśli zmienię znacznik przycisku na znacznik zakotwiczenia (<a>) zhref="", to nie powoduje odświeżenia.

To ostatnie wydaje się najprostszym obejściem, ale dlaczego AngularJS uruchamia nawet dowolny kod po mojej funkcji, który powoduje ponowne załadowanie strony? Wygląda na błąd.

Oto forma:

<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>

Oto metoda kontrolera:

$scope.showChangePassword = function() {
  $scope.selectedLink = "changePassword";
};

questionAnswers(9)

yourAnswerToTheQuestion