আমার কৌণিকের একটি ফর্ম আছে এতে দুটি বোতাম ট্যাগ রয়েছে। একটি বোতাম ফর্মটি জমা দেয় ng-click। অন্য বোতামটি নিখরচায় ব্যবহারের জন্য ng-click। যাইহোক, যখন এই দ্বিতীয় বোতামটি ক্লিক করা হয়, তখন কৌণিক জেএস একটি পৃষ্ঠা রিফ্রেশ ঘটায় যা একটি 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";
};