如何应用我更改的Location.url()

时间:2015-07-17 16:21:28

标签: javascript angularjs

我正在尝试如此角度重定向,但是我只有部分路径。目前我已设法更改URL,但我想转到该网址,而不是仅仅更改它。

    scope.socialReturnUrl = function ( path ) {
      location.url( path + 'assessment' );
    };

我的下面代码似乎只更改了网址或位置。我错过了什么来应用它,所以它被重定向?

我应该指出,我已经尝试使用范围$ apply()但是这会导致以下错误:

范围$ apply未定义

我已经将范围作为依赖,但我还没有应用依赖这是我需要的东西吗?

让我知道你的想法!

2 个答案:

答案 0 :(得分:2)

您需要在控制器中注入$location服务才能更改网址。如果你不这样做,你将会调用window.location对象,这不是你应该做的。

var app = angular.module('myApp');
app.controller('MyController',
    ['$scope', '$location',
    function($scope, $location) {
        $scope.socialReturnUrl = function ( path ) {
            $location.url( path + 'assessment' );
        };
    }])

答案 1 :(得分:0)

是的......我自己解决了这个问题。

显然,location.url()不会像文档中那样进行完全刷新。

https://docs.angularjs.org/guide/ $位置

但是,您需要添加依赖项$窗口并使用以下代码使页面重新加载整页。

window.location.href =路径+'评估';