2017-02-25 1 views
-1

Wenn ich "location.href" verwende, um zu einer anderen Ansicht umzuleiten, wird mein aktueller Controller neu initialisiert. Beide Ansichten verwenden denselben Controller. Was ist der bessere Weg, um zwischen Ansichten zu wechseln, aber Controller nicht neu zu erstellen?Wie Umleitungen mit dem gleichen angularjs Controller umleiten?

function onAddNewTest() { 
      //some logic here 
      location.href = '/#/testList'; 
    }; 

Route selbst:

.module('applicationModule', ['ngRoute']) 
    .config(function ($routeProvider) { 
     $routeProvider 
     .when('/testList', { 
      controller: 'testController as vm', 
      templateUrl: '/Scripts/views/testList.html' 
     }) 
+0

Können Sie bitte Ihren Code zeigen? – tocqueville

+0

https://docs.angularjs.org/api/ng/service/$location#url. Aber das wird den gleichen Controller nicht wiederverwenden. Verhindern Sie nur, dass die gesamte Seite neu geladen wird und dass die Anwendung neu gestartet wird. Was du verlangst, ist unmöglich. –

+0

Angular UI Router ist, was Sie suchen, insbesondere mehrere benannte Ansichten und verschachteltes Routing – digit

Antwort

1

Try $location.path() in Ihrem Controller wie folgt zu verwenden:

function onAddNewTest() { 
    //some logic here 
    $location.path('/testList'); 
}; 

Und vergessen Sie nicht die Abhängigkeit zu Ihrem Controller hinzuzufügen.

Hoffe, es hilft

Verwandte Themen