在 AngularJS 中使用 $location 重定向到 new Page

我正在测试与以下 AngularJS $位置。我不知道这有什么问题。只是想检查重定向是否正常工作:

超文本标示语言

<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';
}
});
171827 次浏览

排队

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

是错的。First = = 进行比较,您可能正在尝试执行赋值操作,该操作使用 simple = 而不是 double = = 。

而且因为 absUrl () getter only。您可以使用 url () ,如果需要,它可以用作 setter 或 getter。

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

尝试在函数中输入 url

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

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

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

请注意,您可以使用 window 对象,但这是不好的做法,因为 $window 很容易模仿 而窗户不是

如果要更改 ng-view,必须使用’#’

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

也许能帮到你!

AngularJ 代码样本

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>

这在一个指令中对我有效,并且不需要刷新 baseurl (只需要添加端点)。适用于带路由机制的单页应用程序。

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