页面刷新后,$stateParams变成了null

5
当通过$state.go传递$stateParams时,在直接点击链接时可以正确获取,但在刷新页面或通过另一个窗口打开时获取为null。
我有以下函数:
$scope.urlvalues = function(url,page) {
    var result = {url:url, page:page};
        $state.go("detailpage", result);
}

我的状态如下:

.state('detailpage', {
            url: "/page/overview",
            templateUrl: "/page_details.html",
            controller: "PageDetailsController",
            params: {
                    url: null,
                    page: null
                    },         
        })

提前感谢您。


你的urlvalues函数在哪里? - Tj Gienger
在另一个名为PageController的控制器中 - surya s rajan
1个回答

5

你可以尝试一下:

.state('detailpage', {
        url: "/page/overview/:url/:page",
        templateUrl: "/page_details.html",
        controller: "PageDetailsController",

    })

然后,当你访问该页面时,网址将被设置并在刷新时保留。


1
如果您不想在URL中传递参数怎么办? - AlxVallejo
可选参数在URL中使用问号“?”表示,例如“/page/overview/:url?/:page?”。 - Tj Gienger
8
不,我的意思是如果您需要将对象作为参数传递到某些状态,刷新状态会丢失该状态参数。有没有一种方法可以保持$state.params.myObject而不必将其存储到localStorage中? - AlxVallejo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接