我整天都在制作我的第一个角度应用程序并且有一个基本问题。
目标是创建一个文本字段,其中包含两个描述当前网址和操作的字符串,如下所示:
您正在:{{urlRoute}} / {{urlAction}}
此信息将显示在应用程序所有页面的标题栏中,需要在用户访问页面时进行更新。
如何在$ location.path()的输出上运行字符串.split(“/”)并将其作为根作用域名称空间中的两个字符串urlRoute,urlAction返回到视图?到目前为止,我从另一个堆栈溢出帖子中得到了这个:
var blogApp = angular.module('blogApp', [
'ngRoute',
'blogControllers'
]).run(function($rootScope, $location) {
$rootScope.location = $location;
$rootScope.urlRoute = $location.path().split('/')[0];
});
虽然我可以使用上面的方法访问ngIncluded标题模板中的{{location.path()}},但我无法访问{{urlRoute}} - 我觉得我错过了一些基本的东西,有人可以启发我?
答案 0 :(得分:1)
您只是尝试在运行时设置它,并且可能在run()
触发之前甚至无法设置该路由。即使它在那里你也无法听取改变
收听其中一个routeChange
事件
.run(function($routeScope, $location){
$rootScope.$on('$routeChangeSuccess',function(current,previous){
/* do what you want with either arguments or $location*/
/* log "current" to console, will see lots of properties */
})
})