我在函数中传递/?preview=true
并像这样捕获了app.js $route.current.params.preview
。但是,当我在控制台日志中输出$route.current.params.preview
时,它是未定义的。请帮助我如何解决该错误。
下面是blah.js这样的http://localhost:9000/?preview=true
。
var buildLangPathUrl = function () {
return LANG_PATH ? LANG_PATH + '/' : '/';
};
this.openFrontPageWithPreview = function () {
$rootScope.openPage(buildLangPathUrl() + '?preview=true');
};
app.js
$rootScope.$on('$routeChangeSuccess', function (user) {
var path = $location.path();
$rootScope.showIndex =
path === LANG_PATH + '/';
if ($rootScope.showIndex) {
pageService.setPageMetaData('');
if($rootScope.loggedUser) {
console.log($route.current.params.preview); << 'undefined'
if (!$route.current.params.preview) {
routeService.openSuggestedJobs()
}
}
}
});
最佳答案
可以将$location.search()
用作查询参数对象的设置器/获取器。
或$routeParams.search
对象
if ($location.search().preview) {
// or
if ($routeParams.search) {
确保注入您使用的任何一种
关于javascript - ngRoute传递参数不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35056419/