Saya memiliki formulir di Angular yang memiliki dua tag tombol di dalamnya. Satu tombol mengirimkan formulir ng-click
. Tombol lainnya murni untuk navigasi menggunakan ng-click
. Namun, ketika tombol kedua ini diklik, AngularJS menyebabkan refresh halaman yang memicu 404. Saya telah menjatuhkan breakpoint pada fungsi dan itu memicu fungsi saya. Jika saya melakukan salah satu dari yang berikut ini, itu akan berhenti:
- Jika saya menghapus
ng-click
, tombol tidak menyebabkan penyegaran halaman. - Jika saya berkomentar kode dalam fungsi, itu tidak menyebabkan penyegaran halaman.
- Jika saya mengubah tag tombol menjadi anchor tag (
<a>
) denganhref=""
, maka itu tidak menyebabkan penyegaran.
Yang terakhir sepertinya solusi yang paling sederhana, tetapi mengapa AngularJS bahkan menjalankan kode apa pun setelah fungsi saya yang menyebabkan halaman dimuat ulang? Sepertinya ada bug.
Ini formulirnya:
<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>
Berikut adalah metode pengontrol:
$scope.showChangePassword = function() {
$scope.selectedLink = "changePassword";
};