【问题标题】:Ionic / AngularJS menubar refresh button to current view's controllerIonic / AngularJS 菜单栏刷新按钮到当前视图的控制器
【发布时间】:2015-04-21 13:14:58
【问题描述】:

我们正在使用 AngularJS 构建一个 Ionic 应用程序。这个应用程序在屏幕顶部有一个菜单栏,带有一个打开侧面/汉堡菜单的按钮和一个刷新按钮。

菜单在一个单独的 HTML 文件中,并且有它自己的控制器来激活当前的菜单项。

在 app.js 中,状态是为哪个视图具有哪个控制器定义的。

菜单栏的右上角有一个刷新按钮,但是我怎样才能使该按钮(与菜单具有相同的控制器)在当前视图的控制器范围内调用一个函数?

【问题讨论】:

    标签: android ios angularjs ionic-framework


    【解决方案1】:

    您可以通过events 完成此操作。

    链接到控制器 A 的模板:

    ...
    <a href="#" ng-click="refresh()">Refresh</a>
    ...
    

    控制器 A:

    .controller('AppCtrl', function($scope, $rootScope) {
    
        $scope.refresh = function() {
            // Your refresh code
            $rootScope.$emit('refreshedPressed');
        }
    
    }
    

    控制器 B:

    .controller('OtherCtrl', function($scope, $rootScope) {
    
       $rootScope.$on('refreshedPressed', function() {
           // Handle the event.
       });
    
    }
    

    【讨论】:

    • 控制器 A 是菜单控制器,控制器 B 是视图的其他控制器吗?
    • 是的,在您的情况下,您可以将 $rootScope.$emit 放在菜单控制器中(您可以在其中到达刷新按钮),并将 $rootScope.$on 放在您想要的不同控制器中响应该事件。
    猜你喜欢
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2013-03-31
    相关资源
    最近更新 更多