使用$ scope变量的全局可用Angular函数

时间:2016-02-17 10:02:57

标签: angularjs angularjs-scope

我正在处理AngularJS中一个关于控制器与$ scope和$ rootScope变量之间的函数可见性的简单问题。

为了澄清,我在我的几个控制器中有几个功能,我想在所有控制器中提供为了代码清晰并避免重复功能< / em>的)。

我已经使用$ rootScope和其他功能的服务功能,但我找不到解决这种情况的正确方法。

这是一个例子,一个简单的功能来切换手风琴列表(来源:http://codepen.io/deinerson1/pen/gxnzj

// Toggle groups
$scope.toggleGroup = function(group) {
    if ($scope.isGroupShown(group)) {
        $scope.shownGroup = null;
    } else {
        $scope.shownGroup = group;
    }
};
$scope.isGroupShown = function(group) {
    return $scope.shownGroup === group;
};

在这种情况下,如何使这个功能(使用$ scope )可用于所有可能想要使用它的控制器?

摘要:

在全球范围内提供功能的正确方法是什么,包括那些使用$ scope变量的功能?

  1. 如果我在$ rootScope中使用函数,我如何访问/处理在该函数中使用的$ scope变量?
  2. 如果我使用服务则完全相同的问题。
  3. 最后但并非最不重要的是,如果前两个选项被丢弃,处理这种情况的正确/最佳方式会是什么?
  4. 此外,还有另一个例子,避免陷入简单的手风琴事情:

    $scope.cancelModal = function() {
        $ionicHistory.nextViewOptions({
            disableBack: true
        });
        $ionicViewSwitcher.nextDirection('back'); // Go back effect
        $state.go('app.main');
    }
    

0 个答案:

没有答案