Reindirizza a nuova pagina in AngularJS utilizzando $ posizione

Sto testando con la seguente posizione AngularJS $. Non ho il problema con questo. Voglio solo controllare se il reindirizzamento funziona o no:

HTML

 Hello {{name}}!   

Codice AngularJS

 var app = angular.module('location', []); app.controller('MainCtrl', function($scope,$routeParams, $location) { $scope.name = 'World'; $scope.go = function() { $location.absUrl() = 'http://www.google.com'; } }); 

$ posizione non ti aiuterà con URL esterni, usa invece il servizio $ window:

 $window.location.href = 'http://www.google.com'; 

Si noti che è ansible utilizzare l’object window, ma è una ctriggers pratica dato che $ window è facilmente raggibile mentre la finestra no .

Se vuoi cambiare ng-view dovrai usare il ‘#’

 $window.location.href= "#operation"; 

La linea

 $location.absUrl() == 'http://www.google.com'; 

è sbagliato. Prima == effettua un confronto, e quello che probabilmente stai cercando di fare è un compito, che è con simple = e non double ==.

E perché solo absUrl () getter. Puoi usare url (), che può essere usato come setter o come getter se vuoi.

riferimento: http://docs.angularjs.org/api/ng . $ location

Potrebbe aiutarti!

Esempio di codice AngularJs

 var app = angular.module('urlApp', []); app.controller('urlCtrl', function ($scope, $log, $window) { $scope.ClickMeToRedirect = function () { var url = "http://" + $window.location.host + "/Account/Login"; $log.log(url); $window.location.href = url; }; }); 

Esempio di codice HTML

 
Redirect to Click Me!

Prova a inserire l’url all’interno della funzione

 $location.url('http://www.google.com') 

questo ha funzionato per me all’interno di una direttiva e funziona senza aggiornare la baseurl (basta aggiungere l’endpoint). Buono per le applicazioni a singola pagina con meccanismo di routing.

  $(location).attr('href', 'http://localhost:10005/#/endpoint')