Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $route.current return未定义?_Javascript_Angularjs - Fatal编程技术网

Javascript $route.current return未定义?

Javascript $route.current return未定义?,javascript,angularjs,Javascript,Angularjs,为什么我在这里没有定义?当我执行控制台.log($route)时,我可以看到该对象,这很奇怪。$route.current在$rootScope.$中可用,'$locationChangeSuccess'或在controller中。但如果您想在解析路由之前访问当前路由(或预期的当前路由),例如在“$locationChangeStart”上的$rootScope.$中或在运行或配置函数中,则可以使用$route.routes[$location.path()] 但请注意,带有参数的路由将导致错误

为什么我在这里没有定义?当我执行
控制台.log($route)
时,我可以看到该对象,这很奇怪。

$route.current在
$rootScope.$中可用,'$locationChangeSuccess'
或在controller中。但如果您想在解析路由之前访问当前路由(或预期的当前路由),例如在“$locationChangeStart”上的
$rootScope.$中或在运行或配置函数中,则可以使用
$route.routes[$location.path()]

但请注意,带有参数的路由将导致错误
$route.routes[$location.path()]
,这一点很重要,因为
$route.routes[key]
$location.path()
的键将不匹配。您可以通过控制台记录
$location.path()
$route.routes
内部运行函数来证明这一点

如果已将额外的自定义属性附加到路由,则可以使用
$route.routes[$location.path()]
之类的工具轻松访问它们
$route.routes[$location.path()].isLoginRequired

您的意思是
活动选项卡
?可能只是一个输入错误。@仍然不知道这不是问题所在,我修正了输入错误,所以我猜
$route.current
不是
未定义的
,而是
$route.current.activeTab
是。如果
$route.current
未定义,则该行将崩溃,而不是打印未定义。所以真正的问题不是
$route.current
,而是它的属性
activeTab
。你认为这些财产来自哪里?
.when('/',{
    controller : 'secondController',
    activeTab : 'admin'
})

app.controller('secondController', ['$route', function($route){
    console.log($route.current.activeTab);
}])