我正在使用以下AngularJS $位置进行测试。我不知道这个问题是什么。只想检查重定向是否有效:
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';
}
});
答案 0 :(得分:145)
$ location不会帮助您使用外部网址,而是使用$ window服务:
$window.location.href = 'http://www.google.com';
请注意,您可以使用window对象,但这是不好的做法,因为$ window很容易被模拟whereas window is not。
答案 1 :(得分:10)
如果你想改变ng-view,你必须使用'#'
$window.location.href= "#operation";
答案 2 :(得分:6)
该行
$location.absUrl() == 'http://www.google.com';
错了。首先==做一个比较,你可能要做的是一个赋值,它是简单的=而不是双==。
因为absUrl()只是getter。您可以使用url(),如果需要,可以将其用作setter或getter。
参考:http://docs.angularjs.org/api/ng。$ location
答案 3 :(得分:6)
它可能对你有帮助!
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>
答案 4 :(得分:0)
这在我的指令中适用于我,并且无需刷新baseurl(只需添加端点)。适用于具有路由机制的单页应用程序。
$(location).attr('href', 'http://localhost:10005/#/endpoint')
答案 5 :(得分:-1)
尝试在函数
中输入网址$location.url('http://www.google.com')