两个控制器之间的angularJS应用程序中的条件属性

在我的应用程序中我有两个控制器。

控制器1 | 控制器2


  • 从控制器1我打开一个按钮点击菜单,并在一个函数定义属性说,this.isTelephoneMenuOpen = true;
  • 结果:我正在打开菜单使用两个选项编辑和删除。

    2. 从控制器2点击编辑我打开一个模式重叠工作正常。

    问题:但无法隐藏较早打开的菜单。

    如何在另一个控制器中使用此属性来隐藏菜单模式被打开后的菜单?


    将属性定义为$rootScope因为每个应用程序都有一个根范围。

    在控制器1中 - $rootScope.isTelephoneMenuOpen = true

    在控制器2中 - 打开菜单$rootScope.isTelephoneMenuOpen = false后将其设置为$rootScope.isTelephoneMenuOpen = false


    其中一种方法是广播事件,看看$ rootScope。$ broadcast()。

    例如,在第二个控制器中,您可以播放一个事件

    $rootScope.$broadcast('hideMenu', {hide: true})
    

    然后在第一个控制器中捕获它

    $scope.$on('hideMenu', function (event, data) {
      //code for hiding menu
    });
    
    链接地址: http://www.djcxy.com/p/77571.html

    上一篇: conditional properties in angularJS Application between two controllers

    下一篇: How to call a multiple controllers in single template in angularjs?