在 "brothers" 个组件之间传递数据

Pass data between "brothers" components

您可能想知道我所说的兄弟组件是什么意思,它只是具有相同父组件的 2 个不同组件。

我正在使用 angular.js 5.11

假设我有一个包含 child1 组件和 child2 组件的父组件。我的 child1 组件中有一个变量 vm.active,我希望在我的 child2 视图中使用它(在 ng-if 中,如果你想知道的话)。

有什么想法吗?是否考虑在这 3 个组件中进行双向绑定?大家怎么看?或者考虑他们来自同一个州,可能是 stateParams ?如果您有任何问题,请告诉我

这是创建服务的完美场景。请记住,控制器具有独特的实例,但服务会传递一个通用实例。

https://www.w3schools.com/angular/angular_services.asp

在这种情况下不要使用 two-way 数据绑定,因为您可以通过更有效的方式完成相同的操作。双向绑定设置需要框架开销。

一种方法:

设置 Parent 组件中变量(比如 x)与 children.

组件的一种绑定方式

当 child1 对变量进行更新时,传入 parent 可以接收的可观察引用。 parent 可以相应地设置 x 的值。现在 children 都可以看到更新。

这是另一个:

使用单例服务。将变量保存在相关服务中。使用 getter 和 setter 方法检索和更新值。

最后在第一个组件中使用 $scope.$parent.$broadcast,在第二个组件中使用 $scope.$on 如果有人想知道的话:)