Ich habe ein Formular in Angular mit zwei Schaltflächenbeschriftungen. Eine Schaltfläche sendet das Formular bei ng-click
. Die andere Schaltfläche dient ausschließlich der Navigation mit ng-click
. Wenn jedoch auf diese zweite Schaltfläche geklickt wird, veranlasst AngularJS eine Aktualisierung der Seite und löst einen 404-Fehler aus. Ich habe in der Funktion einen Haltepunkt gesetzt und er löst meine Funktion aus. Wenn ich einen der folgenden Schritte ausführe, stoppt es:
ng-click
entferne, führt die Schaltfläche nicht zu einer Aktualisierung der Seite.
) ändere und href=""
hinzufüge, wird kein a verursacht Aktualisierung . Letzteres scheint die einfachste Lösung zu sein, aber warum führt AngularJS nach meiner Funktion Code aus, der dazu führt, dass die Seite neu geladen wird? Sieht aus wie ein Bug.
Dies ist das Formular:
Dies ist die Controller-Methode:
$scope.showChangePassword = function() { $scope.selectedLink = "changePassword"; };
你可以尝试阻止默认处理程序:
html:
js:
如果你查看W3C规范,似乎显而易见的尝试是在你不想要提交的按钮元素上标记
type='button'
。特别要注意的是它所说的位置