在AngularJS $ routeProvider中使用变量

时间:2015-12-08 12:51:32

标签: javascript angularjs

目前,我建筑的字典网站的片段如下所示:

each
顾名思义,

.when('/dictionary/:word2lookup', { title: 'The MySite dictionary', templateUrl : 'pages/dictionary.html', controller : 'dictController' }) 是用户在输入框中输入的单词,然后点击提交按钮进行翻译。当翻译的数据在下面的div中呈现时,URL被编程为反映这样的单词(例如,用户正在查找单词 cortar ):

  

www.mysite.com/dictionary/cortar

但是,无论要查找的是哪个单词,只要用户停留在此页面上,标题就会保持静态,即word2lookup)。我有什么方法可以将变量The PeppyBurro dictionary传递给word2lookup并让它呈现动态标题,例如$routeProvider

我尝试Translation of cortar | The MySite Dictionary但失败了。我也试过'Translation of :word2lookup | The MySite Dictionary'但没有成功。

1 个答案:

答案 0 :(得分:2)

一种解决方案是收听每个路线更改并分别设置文档标题。但访问$route.current.params['word2lookup']

可以实现许多其他选项
app.run(['$rootScope', '$route', '$location', function($rootScope, $route, $location) {
    $rootScope.$on('$routeChangeSuccess', function() {
        if(0 === $location.path().indexOf('/dictionary/')) {
            document.title = 'Translation of ' + $route.current.params['word2lookup'] + ' | ' + $route.current.title;
    });
}]);