在angularjs里,在控制器中怎么触发其他控制器的函数?或者有另一种思路?需求如下

1.首先菜单是一个页面+控制器的结构,App启动时这个只加载一次。
加载菜单的代码如下,页面是遍历vm.menu这个数据,
现在我想在这个页面添加ng-if来控制这个的显示或者不显示

   appModule.controller('common.views.test.sidebar', [
        '$scope',
        function ($scope) {
            var vm = this;

            vm.menu = Global.nav.menus.MainMenu;
            console.log('vm.menu:', vm.menu);
            $scope.$on('$includeContentLoaded', function () {
                Layout.initSidebar(); // init sidebar
            });
        }
    ]);
    

然后我进入另一个页面的时候,不要显示这个菜单,该如何解决呢?

阅读 2.4k
3 个回答

1.你可以写个服务来调用这个函数,
2.进入另外一个页面?指的是进入另外一个路由吗?感觉上你用路由ui-router来配置,可以解决上述所有问题。

进入另外一个页面这个页面不会销毁吗?可以发个广播隐藏,不过好像不太好;

可以把控制显示隐藏的值,也就是ng-if的值放在$location.search()里面,进入另外一个页面的时候把这个值带过去

推荐问题