在解析ui-router

时间:2016-06-24 09:18:49

标签: angularjs url routing angular-ui-router

因为我必须建立我的网址SEO友好,因为我不能信任用户输出。我想在resolve函数返回成功时重新定义此输入。

示例:

用户写道:http//mydomain.com/city/Newcastle upon Tyne

API会返回正确的slug:newcastle-upon-tyne-0191并加载模板。

我希望在模板加载之前用这个slug反向用户输入:

http//mydomain.com/city/newcastle-upon-tyne-0191

我使用UI路由器,这是一种方法($ state,$ stateparams)?

以下是我的路由器代码中使用的部分:

   .state('villes.ville', {
        url: "/:ville",
        cache: false,
        parent: 'villes',
        templateUrl: "partials/ville.tpl.html",
        metaTags: {
            title: '{{city.label}} ({{city.zip_code}})',
        },
        resolve: {
            city: function(City, $state, $stateParams){

                return City.get({
                    slug: $stateParams.ville,
                    shape: true,
                    details: true

                }).$promise.then(
                    function(data){ return data },
                    function(error){ $state.go('/404') });
            }
        },
        controller : 'villeCtrl'               
    })

0 个答案:

没有答案