你好我有一个HTML文件,我已经将控制器分配给HTML。我在同一个文件中包含另一个视图。包含的文件也有控制器关联。现在我想从控制器外部调用包含视图的方法。在这里,我有多个视图将被加载。
<div ng-view>
</div>
答案 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就像其他答案一样说。