点击按钮,我有导航代码。
$s.onClick = function (pageObj) {
$location.path('/Next');
}
这里param pageObj是包含链接(例如:http://sample.。),标题和其他键值的对象。现在我想将链接,标题作为参数传递给$ location.path,所以我尝试了
$location.path('/Next/' + pageObj.link + '/' + pageObj.title)
这里是链接,标题参数我想在下一页中使用。 pageObj.link再次为http,因此完整的路由URL无效导航。
以下是路由的代码
angularModule.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: '/www/temp/Main.html',
controller: 'MainController'
})
.when('/Next', {
templateUrl: '/www/temp/Select.html',
controller: 'SelectController'
})
});
如何检查参数并使用这些参数导航到下一页。我不希望这些参数显示在网址中。
答案 0 :(得分:0)
由于您不希望参数显示在网址中,因此绝对最简单的方法是使用$rootScope
,如下所示:
第一页
$rootScope.routeParams.link = "/my/link/here";
$rootScope.routerParams.title = "My page title here";
第二页
$scope.link = $rootScope.routerParams.link;
$scope.title = $rootScope.routerParams.title;
注意强>
您需要在$rootScope.routeParams
中定义app.config
对象,类似于:
app.config(function($rootScope) {
$rootScope.routeParams = {
link: null,
title: null
}
});
您还需要将$rootScope
注入您引用它的每个控制器,类似于:
app.controller('FirstPage_Ctrl', function($scope, $rootScope) {
$rootScope.routeParams.link = "/my/link/here";
$rootScope.routerParams.title = "My page title here";
});