AngularJS ng-click um zu einer anderen Seite zu gelangen (mit Ionic Framework)
Ideal, wenn ich auf den button (das ist in den Ionischen navbar oben), dann sollte es bringen mich zu einer anderen Seite. Aber es funktioniert nicht. Klicken Sie auf die nav bar buttons alles verschwindet.
Wenn ich dummy-codes, es funktioniert, wird die Warnung angezeigt.
Aber wenn ich tausche es um den eigentlichen code, es funktioniert nicht.
Ich habe das Gefühl, somethings falsch mit der controller-codes und wie die URL oder Sicht bezeichnet. Aber die Tests mit href und ui-sref auch beim Ertrag etwas. Google Devt-Tools (JS-Konsole) und Batarang zeigt auch nichts.
Könnte jemand mir den Weg zeigen bitte?
dummy-html-code
<button class="button button-icon ion-compose" ng-click="create()"></button>
dummy-controller-code in js Datei
$scope.create = function() {
alert("working");
};
eigentliche html-code (ich habe versucht, alle 4 Versionen)
<button class="button button-icon ion-compose" ng-click="create('tab.newpost')"></button>
<button class="button button-icon ion-compose" ui-sref="tab.newpost"></button>
<button class="button button-icon ion-compose" href="/tab/newpost"></button>
<button class="button button-icon ion-compose" ng-click="location.path('/tab/newpost')"></button>
Die controller-Datei (das Post-und Auth-Abhängigkeiten arbeiten ok). Wenn ich versuche die URL in beiden die .gehen Sie() und die Funktion(), die app nicht.
app.controller('NavCtrl', function ($scope, $location, $state, Post, Auth) {
$scope.post = {url: 'http://', title: ''};
$scope.create = function() {
/* $location.path('/tab/newpost'); */ /* this variant doesnt work */
$state.go("/tab/newpost");
};
});
Auszüge des Staates js-Datei
.state('tab.newpost', {
url: '/newpost',
views: {
'tab-newpost':{
templateUrl: 'templates/tab-newpost.html',
controller: 'NewCtrl'
}
}
});
$urlRouterProvider.otherwise('/auth/login');
InformationsquelleAutor der Frage Thinkerer | 2014-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf Kommentare, und aufgrund der Tatsache, dass @Thinkerer (die OP - original poster) erstellt eine plunker für diesen Fall habe ich beschlossen, das Anhängen einer weiteren Antwort mit mehr details.
Die erste und wichtigste Veränderung:
weil die Bundesländer definition:
, und wir brauchen Ihre verkettet url
'/tab'
+'/posts'
. Das ist die url, die wir verwenden wollen, als sonstDen rest der Anwendung ist wirklich nah an das Ergebnis, das wir brauchen,...
E. g. wir stil haben, um den Inhalt in die gleiche Ansicht targetgood, nur diese verändert wurden:
weil
.state('tab.newpost'
wäre ersetzen die.state('tab.posts'
wir haben, um es zu platzieren in den gleichen Anker:Schließlich einige Anpassungen im Controller:
Wie ich schon sagte in meiner vorherigen Antwort und Kommentare ... die
$state.go()
ist der einzig richtige Weg, wie zu verwendenionic
oderui-router
Überprüfen Sie, dass alle hier
Letzter Hinweis - ich habe zu laufen, nur die navigation zwischen
tab.posts
...tab.newpost
... der rest würde ähnlichInformationsquelleAutor der Antwort Radim Köhler
Verwenden
<a>
mit href-statt einer<button>
löst mein problem.InformationsquelleAutor der Antwort Yang Zhang
Einer denke, Sie sollten den Aufruf
$state.go()
. Wie hier beschrieben:Param übergeben werden sollte, der name des Landes
Einige zitieren von doc (der erste parameter zu der
[$state.go(to \[, toParams\] \[, options\]
):InformationsquelleAutor der Antwort Radim Köhler
HTML
InformationsquelleAutor der Antwort Giannis Paraskevopoulos
Wenn Sie wollen einfach wechseln zu einer anderen Seite, dann, was Sie vielleicht brauchen, ist ein link, der aussieht wie ein Knopf mit einem href-wie so:
Hoffe, das hilft.
InformationsquelleAutor der Antwort Kingsley Ijomah