angularjs - Angular UI 路由器 : Access state parameters outside ui-view

标签 angularjs controller angular-ui-router

菜单位于<div> 之外通过 UI Router 的 ui-view 呈现的 block .

为了根据状态参数修改菜单,我需要从菜单 Controller 中访问当前状态参数,但是 $stateParamsui-view 之外使用时变量是一个空对象部分。

我如何访问它们?

angular.module('myapp').controller('MenuCtrl', ['$scope', '$rootScope', '$stateParams', '$meteor', '$filter',
  function($scope, $rootScope, $stateParams, $meteor, $filter) {
    // ... $stateParams equals {}
  }
]);

最佳答案

尝试观察 Controller 中的状态变化...

angular.module('myapp').controller('MenuCtrl', ['$scope', '$rootScope', '$meteor', '$filter',
    function($scope, $rootScope, $meteor, $filter) {

        //this watches for state changes
        $rootScope.$on('$stateChangeStart', 
           function(event, toState, toParams, fromState, fromParams){
              //do something when state changes
              state = toState.name;
              postid = toParams.postid;
              console.log(toParams); //this is the stateParams you need
           });

     }
]);

关于angularjs - Angular UI 路由器 : Access state parameters outside ui-view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142818/

相关文章:

AngularJS - Angular UI-Router 仅重新加载嵌套 View ,而不是父 View

java - 如何更正我的代码以消除 CORS 获取问题?

javascript - 即使向上滚动,AngularJS 无限滚动调用功能

java - Spring MVC url 模式 - 不断附加 Controller

javascript - bcbankApp.accsummary 模块 AccountSummaryController 应该有一个 getAccountSummary 函数 在 Angular js 中失败

angularjs - Angular ui-sref编码参数

javascript - 在 AngularJS 的 ionic 框架中使用 ui-router

javascript - js 和 jquery.dataTables.js 出现错误 : Uncaught SyntaxError: Unexpected token < in jquery-ui.

javascript - 回调在 AngularJS 调用 REST 服务时如何工作?

controller - USB3 Controller 和 Kinect 2