【问题标题】:UI router same controller for multiple statesUI 路由器 多个状态的相同控制器
【发布时间】:2016-07-16 18:12:45
【问题描述】:

在我的 Angular JS 应用程序中,我有 2 个视图 - v1 和 v2 和 1 个控制器 - appCtrl。

我已将 UI 路由器配置如下

          .state('profile.v1', {
            url: '/v1',
            templateUrl: 'v1.html',
            controller: 'appCtrl'
        })
          .state('profile.v2', {
            url: '/v2',
            templateUrl: 'v2.html',
            controller: 'appCtrl'
        })

我在 appCtrl 中有 2 个函数 - fv1 和 fv2。

我想在调用路由'/v1'时执行fv1,在调用路由'/v2'时执行fv2。

有人可以推荐吗?

【问题讨论】:

    标签: javascript angularjs angular-ui-router single-page-application angular-ui-router-extras


    【解决方案1】:

    $state 注入控制器,并检查$state.current.name - 它应该是profile.v1profile.v2,具体取决于您当前所处的状态

    【讨论】:

      【解决方案2】:

      另一种使用状态声明的方法是:

      .state('profile.detail', {
            url: '/:version',
            templateUrl: function($stateParams){             
               return $stateParams.version +'.html';
           },
            controller: 'appCtrl'
      })
      

      然后在控制器中注入$stateParams并检查$stateParams.version

      【讨论】:

        猜你喜欢
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        • 2018-02-18
        • 1970-01-01
        • 2011-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多