使用AngularJS从$rootScope分配功能以单击事件

Assign function from $rootScope to click event with AngularJS

本文关键字:功能 单击 事件 分配 rootScope AngularJS 使用      更新时间:2023-09-26

如何使用$rootScope运行此函数?
小提琴

  <div ng-app="myApp" ng-controller="parentCtrl">
      {{test}}
      <div ng-controller="myCtrl1">
          <div ng-controller="myCtrl2">
              <a href="#" ng-click="value()">show me</a>     
          </div>
      </div>   
    </div>

这是我的控制器:

angular.module('myApp', []).controller('parentCtrl', function($scope, $rootScope) {
    $rootScope.test = function() {
        alert("asdasd");
    }
});
angular.module('myApp').controller('myCtrl2', function($scope, $rootScope) {
    $scope.value = $rootScope.test();
});

页面刷新时显示警报,但我想在单击后显示它ng-click

如果要将test函数分配给$scope.value,只需删除以下行中的()

$scope.value = $rootScope.test;

看到小提琴。

您需要

将 $scope.value 设置为 $rootScope.test

将其设置为 $rootScope.test() 会调用该函数,并且实际上不会将值设置为 $rootScope 中对该函数的引用。

$scope.value = $rootScope.test

更新的小提琴