需要调用另一个控制器方法

时间:2014-01-10 06:20:45

标签: angularjs

你好我有一个HTML文件,我已经将控制器分配给HTML。我在同一个文件中包含另一个视图。包含的文件也有控制器关联。现在我想从控制器外部调用包含视图的方法。在这里,我有多个视图将被加载。

<div  ng-view>
</div>

3 个答案:

答案 0 :(得分:1)

您不能直接调用页面中另一个控制器的控制器方法。 您的控制器可以使用事件进行通信。建议使用$rootScope.$emit + $rootScope.$on。 你可以参考这篇文章了解更多信息。 What's the correct way to communicate between controllers in AngularJS?

答案 1 :(得分:0)

每页只能有一个ng-view。你可以做的是使用ng-include加载另一个视图,并使用$scope.$broadCast$scope.$emit发布事件。
  看看Working with $scope.$emit and $scope.$on

答案 2 :(得分:0)

您可以尝试使用服务或工厂将方法作为对象传递。如果可能,您可以导入工厂并处理您传递的功能。但如果它是一个实用功能,那么它将正常工作。如果它使用控制器的变量,那么我不确定它是否会起作用。 否则使用$ scope。$ broadCast和$ scope。$ emit就像其他答案一样说。