如何从angularjs中的子控制器调用父控制器中的函数

时间:2019-02-21 14:08:29

标签: angularjs

这是我的UI代码

<div ng-controller="WorkFlowController" ng-init="init()">
  <div ng-controller="templatecontroller">
     <ul class="ng-scope" ng-click="child(1)"></ul>
 </div>
</div>

这是我在app.js中的脚本

这是我的父控制器

 app.controller("WorkFlowController",  function ($scope) {
  $scope.parentFuntion = function (TaskId) {
   };
 });

这是我的孩子控制器

 app.controller("templatecontroller",  function ($scope) {
 $scope.child = function (TaskId) {
 parentFuntion(TaskId);
};
  });

我的问题是,我在子控制器功能中获得了ID,但无法传递给父控制器。 是否可以将ID从子代传递给父控制器功能? 请帮助我:)预先感谢

2 个答案:

答案 0 :(得分:0)

查看此Stack Overflow Answer,其中包含很多重要信息。

使用$scope可以使用$parent属性以如下方式访问父作用域:

$scope.child = function (TaskId) {
    $scope.$parent.parentFuntion(TaskId);
}

答案 1 :(得分:0)

父控制器

app.controller("WorkFlowController", function ($scope) { 

$ rootScope.parentFuntion =函数(TaskId){}; });

子控制器

app.controller("templatecontroller", function ($scope) { $scope.child = function (TaskId) { $rootScope.parentFuntion(TaskId); }; });