如何在Angular js中调用/触发另一个控制器函数

8 浏览
0 Comments

如何在Angular js中调用/触发另一个控制器函数

这个问题已经有了答案

一个 AngularJS 控制器可以调用另一个控制器吗?

     //In this controller i am having one insert Functionality on ng-click
    //In this controller i am having one insert Functionality on ng-click
   //Here on ng-click i want to trigger all the other controller's click events

实际上,我正在构建一个 AngularJS 应用程序,在应用程序中我有不同的部分,用户可以保存他输入的数据。因此,在这里的每个控制器都是作为单个实体行动,当每个控制器的按钮点击时,执行 CRUD 操作。

现在,因为每个控制器在按钮点击时都实现了插入功能以将数据发送到表格中。在最后一个控制器中,有一个保存按钮,我们需要触发不同控制器的所有插入点击,如何实现这个目标?任何快速建议都将受到赞赏。

admin 更改状态以发布 2023年5月20日
0
0 Comments

你需要从最终控制器广播一个信息,并在其他控制器中对其进行操作。\n最终控制器\n

function trigger(){
  $rootScope.$broadcast('yourEventName');
}

\n第一个控制器\n

$rootScope.$on('yourEventName', function(){
  //do your insert functionality
})

0
0 Comments

你可以使用 $rootScope 来实现。将 $rootScope 注入到所有控制器中,然后从 finalcontroller 向其他控制器发出事件,像这样:

在 final controller 中:

$rootScope.$emit('triggerClick'); // when you want to trigger click in other controllers

在 firstController 和 secondController 中:

$scope.yourFunction = function(){     //This will be executed on ng-click
    // InsertFunction code
}
$rootScope.$on('triggerClick', function() {      // this will be executed when you trigger from finalController
    // InsertFunction code
})

0