鍍金池/ 問答/HTML5  HTML/ 在angularjs里,在控制器中怎么觸發(fā)其他控制器的函數(shù)?或者有另一種思路?需

在angularjs里,在控制器中怎么觸發(fā)其他控制器的函數(shù)?或者有另一種思路?需求如下

1.首先菜單是一個(gè)頁面+控制器的結(jié)構(gòu),App啟動時(shí)這個(gè)只加載一次。
加載菜單的代碼如下,頁面是遍歷vm.menu這個(gè)數(shù)據(jù),
現(xiàn)在我想在這個(gè)頁面添加ng-if來控制這個(gè)的顯示或者不顯示

   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
            });
        }
    ]);
    

然后我進(jìn)入另一個(gè)頁面的時(shí)候,不要顯示這個(gè)菜單,該如何解決呢?

回答
編輯回答
祉小皓

1.你可以寫個(gè)服務(wù)來調(diào)用這個(gè)函數(shù),
2.進(jìn)入另外一個(gè)頁面?指的是進(jìn)入另外一個(gè)路由嗎?感覺上你用路由ui-router來配置,可以解決上述所有問題。

2017年1月25日 15:56
編輯回答
拽很帥

可以把控制顯示隱藏的值,也就是ng-if的值放在$location.search()里面,進(jìn)入另外一個(gè)頁面的時(shí)候把這個(gè)值帶過去

2018年3月6日 15:23
編輯回答
乞許

進(jìn)入另外一個(gè)頁面這個(gè)頁面不會銷毀嗎?可以發(fā)個(gè)廣播隱藏,不過好像不太好;

2017年8月1日 06:30