嗨,我有这条路线
#CoffeeScript
Router.route 'tests/:slug/:type/question/add',
name: 'addQuestion'
controller: testsAddQuestionController
我有这个控制器
@testsAddQuestionController = testsQuestionsController.extend
template: 'mcqQuestionForm'
data: ->
questions: TestQuestions.find()
test: Tests.findOne slug: this.params.slug
我想从控制器中选择模板,取决于:type parammeter,我尝试了两种方法:
@testsAddQuestionController = testsQuestionsController.extend
template: if this.params.type is 'mcq' then 'mcqQuestionForm' else 'somethingelse'
data: ->
questions: TestQuestions.find()
test: Tests.findOne slug: this.params.slug
但是使用这种方法我得到错误this.params is undefined
第二种方法
@testsAddQuestionController = testsQuestionsController.extend
template: if Router.current().route.params.type is 'mcq' then 'mcqQuestionForm' else 'somethingelse'
data: ->
questions: TestQuestions.find()
test: Tests.findOne slug: this.params.slug
但appciation崩溃了这种方法,是否有人知道如何访问路由参数以便从控制器中为选择模板制定这个条件?
答案 0 :(得分:1)
以下是我们的控制器的样子:
_dbFactory
出于某种原因(不知道为什么)如果我将当前的路由器参数保存到变量中,然后将该变量用于if语句,那么它就可以工作。
希望这会对你有所帮助。