Tôi có một hình thức trong Angular có hai thẻ nút trong đó. Một nút gửi biểu mẫu trên ng-click
. Nút còn lại hoàn toàn để điều hướng sử dụng ng-click
. Tuy nhiên, khi nhấp vào nút thứ hai này, AngularJS đang gây ra việc làm mới trang sẽ kích hoạt 404. Tôi đã bỏ điểm dừng trong chức năng và nó đang kích hoạt chức năng của tôi. Nếu tôi làm bất kỳ điều nào sau đây, nó sẽ dừng:
- Nếu tôi loại bỏ
ng-click
, nút không gây ra làm mới trang. - Nếu tôi nhận xét mã trong hàm, nó không gây ra làm mới trang.
- Nếu tôi thay đổi thẻ nút thành thẻ neo (
<a>
)href=""
, thì nó không gây ra làm mới.
Cái sau có vẻ như là cách giải quyết đơn giản nhất, nhưng tại sao AngularJS thậm chí còn chạy bất kỳ mã nào sau chức năng của tôi khiến trang tải lại? Có vẻ như một lỗi.
Đây là mẫu:
<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>
Đây là phương pháp điều khiển:
$scope.showChangePassword = function() {
$scope.selectedLink = "changePassword";
};