首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >铁路由器:获取当前控制器的名称

铁路由器:获取当前控制器的名称
EN

Stack Overflow用户
提问于 2014-11-19 02:33:33
回答 1查看 551关注 0票数 3

我知道您可以使用Router.current().route.getName()获取当前路由的名称,但如何获得当前路由的控制器的名称?

下面是我如何定义控制器的一个例子:

代码语言:javascript
复制
Router.configure
    layoutTemplate: 'LayoutFluid'
    yieldRegions:  
        "footer": {to: "footer"}
        "header": {to: "header"}


@QuantifyController = RouteController.extend
    layoutTemplate: "LayoutSidebar"
    yieldRegions:
        "footer": {to: "footer"}    
        "header": {to: "header"} 
        "QuantifyMenu": {to: "sidebar"}
    action: ->
        @render()

Router.map ->
    @route "Home",
        path: "/"
    @route "Blog",
        path: "/blog"
    @route "QuantifyIndex",
        path: "/quantify"
        controller: "QuantifyController"
    @route "QuantifyNewProject",
        path: "/quantify/new"
        controller: "QuantifyController"
    @route "Quantify..." #you get the idea

FWIW,我需要得到这个是为了CSS的目的。我将路由的名称作为css类添加到主体中,这意味着当为使用QuantifyController的视图定义共享样式时,我需要执行body.QuantifyIndex, body.QuantifyNewProject, body.Quantify...,这意味着每次我添加一个新的Quantify..路由时,我也需要将它添加到css中,这是非常不理想的。如果我能得到控制器的名称,我只需要在CSS中使用body.QuantifyController {...},这就更理想了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-19 23:02:44

明白了!经过几个小时的搜索,我发现它定义在:

Router.current().route.options.controller**.**

注意,如果当前控制器是默认控制器(RouteController),您将得到undefined

@SG_你的评论帮了我的忙。再次感谢。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27007958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档