在角度路线提供者设置页面标题基于URL

时间:2016-11-22 01:13:47

标签: angularjs routes

如何访问setTitle匿名函数中的网址?

我在Angular的路由设置中有类似下面的内容。大多数路由指向同一个控制器,控制器存在一些差异,但基本上问题是重复路由。所以我想转移到表中只有一个条目的东西,但需要更改SetWindowTitle以根据url参数设置标题。我显示的代码不起作用,因为producttype var未定义。

当前代码:

.config(['$routeProvider',
    function ($routeProvider) {

    $routeProvider
        .when('/mypage/round', {
            templateUrl: 'product',
            controller: 'productController',
            resolve: {
                setTitle: function() { 
                    SetWindowTitle('product round')
                }
            },
        })
        .when('/mypage/square', {
            templateUrl: 'product',
            controller: 'productController',
            resolve: {
                setTitle: function() { 
                    SetWindowTitle('product square')
                }
            },
        })
   // etc...

想要类似的东西:

    $routeProvider
        .when('/mypage/:producttype', {
            templateUrl: 'product',
            controller: 'productController',
            resolve: {
                setTitle: function() { 
                    SetWindowTitle('product ' + producttype)
                }
            },
        })

1 个答案:

答案 0 :(得分:1)

我们可以通过注入'$ route'来访问resolve函数中的路由URL。 以下是您需要做的事情:

/media/popular/
  

$ route.current - 包含所有当前路由URL详细信息,如控制器,原始路径,路径,模板URL等。