मेरे पास एंगुलर में एक फॉर्म है जिसमें दो बटन टैग हैं। एक बटन फॉर्म को सबमिट करता है ng-click
। अन्य बटन विशुद्ध रूप से नेविगेशन का उपयोग करने के लिए है ng-click
। हालाँकि, जब यह दूसरा बटन क्लिक किया जाता है, तो AngularJS एक पेज रिफ्रेश पैदा कर रहा है, जो 404 को ट्रिगर करता है। मैंने फंक्शन में एक ब्रेकपॉइंट गिरा दिया है और यह मेरे फंक्शन को ट्रिगर कर रहा है। यदि मैं निम्नलिखित में से कोई कार्य करता हूं, तो यह रुक जाता है:
- यदि मैं
ng-click
बटन को हटाता हूं , तो बटन पेज रिफ्रेश का कारण नहीं बनता। - अगर मैं फंक्शन में कोड कमेंट करता हूं, तो इससे पेज रिफ्रेश नहीं होता।
- यदि मैं बटन टैग को एंकर टैग (
<a>
) के साथ बदल देता हूंhref=""
, तो यह ताज़ा करने का कारण नहीं बनता है।
उत्तरार्द्ध सबसे सरल वर्कअराउंड की तरह लगता है, लेकिन एंगुलरजेएस मेरे फ़ंक्शन के बाद भी कोई कोड क्यों चला रहा है जो पेज को फिर से लोड करने का कारण बनता है? बग की तरह लगता है।
यहाँ फार्म है:
<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";
};