如何根据传递的参数的值更改ui-router的模板?

时间:2013-09-12 17:24:48

标签: angularjs angular-ui-router

我设置了以下内容:

   var questionsContent = {
        name: 'questions.content',
        parent: 'questions',
        url: '/:question',
        views: {
            'content@': {
                templateUrl: '/Content/app/questions/partials/content.html',
                controller: 'QuestionsContentController',
            }
        }
    }

我真正想要的是:如果值为:问题是使用模板questionDetail.html的数字,如果不是数字则为content.html

有谁知道这样做的方法?

1 个答案:

答案 0 :(得分:6)

这样的东西?

   var questionsContent = {
        name: 'questions.content',
        parent: 'questions',
        url: '/:question',
        views: {
            'content@': {
                templateUrl: function(stateParams) {
                    var isNumber = !isNaN(parseFloat(stateParams.question)); 
                    return isNumber ? 'questionDetail.html' : 'content.html'
                },
                controller: 'QuestionsContentController',
            }
        }
    }