ฉันมีรูปแบบใน 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";
};