微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS angular ui router – 将自定义数据传递给控制器

以下是我的代码

.state('tab.dash',{
      url: '/dash',views: {
          'tab-dash': {
              templateUrl: 'templates/tab1.html',controller: 'QuestionsCtrl'
              //,resolve: { type: '.net' }
          }
      }
  })

  .state('tab.friends',{
      url: '/friends',views: {
          'tab-friends': {
              templateUrl: 'templates/tab1.html',resolve: { type: 'sql' }
          }
      }
  })

我想将一个不同的自定义属性传递给上面两个路由,因为它们使用相同的Controller和View,以区分它.我尝试了很多东西.请帮忙怎么做!

解决方法

您可以按如下方式传递自定义数据

.state('tab.dash',data: {
        customData1: 5,customData2: "blue"
      },data: {
        customData1: 6,customData2: "orange"
      },resolve: { type: 'sql' }
          }
      }
  })

在控制器中,您可以按如下方式获取数据值

function QuestionsCtrl($state){
    console.log($state.current.data.customData1);
    console.log($state.current.data.customData2);
}

在这里阅读有关此主题的更多信息https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#inherited-custom-data

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐