使用$ locationredirect到AngularJS中的新页面

我正在testing以下AngularJS $的位置。 我不知道这是什么问题。 只是想检查redirect是否正常工作:

HTML

<body data-ng-controller="MainCtrl"> Hello {{name}}! <button ng-click='go()'>Go</button> </body> 

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'; } }); 

$ location不会帮助您使用外部URL,而是使用$ window服务:

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

请注意,您可以使用窗口对象,但这是不好的做法,因为$窗口很容易嘲弄, 而窗口不是 。

如果你想改变ng-view,你必须使用'#'

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

该线

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

是错的。 首先==进行比较,你可能试图做的是一个赋值,它是简单=而不是double ==。

而且因为absUrl()只是获得者。 你可以使用url(),如果你愿意,可以用作setter或者getter。

参考: http : //docs.angularjs.org/api/ng。$ location

它可能会帮助你!

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; }; }); 

HTML代码示例

 <div ng-app="urlApp"> <div ng-controller="urlCtrl"> Redirect to <a href="#" ng-click="ClickMeToRedirect()">Click Me!</a> </div> </div> 

尝试在function内inputurl

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