Newbie Angular Q - 修改服务输出

时间:2013-11-17 10:35:31

标签: angularjs angularjs-directive angularjs-scope

我整天都在制作我的第一个角度应用程序并且有一个基本问题。

目标是创建一个文本字段,其中包含两个描述当前网址和操作的字符串,如下所示:

您正在:{{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}} - 我觉得我错过了一些基本的东西,有人可以启发我?

1 个答案:

答案 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 */
    })

})  

$route docs