2016-01-28 79 views
1

我在我的函數中傳遞/?preview=true並捕獲app.js $route.current.params.preview。但是當我在控制檯日誌中輸出$route.current.params.preview時,它是未定義的。請幫助我如何解決這個錯誤。ngRoute傳遞參數不起作用

下面是blah.jshttp://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() 
       } 
      } 
     } 
    }); 
+1

只需使用'而不是'$ route.current.params' $ routeParams'哪一個。 –

+0

但我在控制器中聲明''$ route''。 – ppshein

+0

除了獲取當前參數之外,在你的控制器中還有另外一個'$ route'的用法嗎? –

回答

0

可以使用$location.search()作爲二傳手/ getter方法查詢參數對象。

或者$routeParams.search對象

if ($location.search().preview) { 
// or 
if ($routeParams.search) { 

一定要注射使用

相關問題