Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在不使用service和rootscope的情况下在两个控制器之间共享数据?_Angularjs - Fatal编程技术网

Angularjs 如何在不使用service和rootscope的情况下在两个控制器之间共享数据?

Angularjs 如何在不使用service和rootscope的情况下在两个控制器之间共享数据?,angularjs,Angularjs,我在一次采访中遇到过这个问题,我知道如何使用服务和根范围在两个控制器之间共享数据。是否有任何方法可以在不使用服务和根范围的情况下在两个控制器之间传递数据> 请提供任何建议。AngularJs使用由发送和读取事件组成的观察者模式 很多时候,当应用程序的一部分发生更改时,其他部分需要更新。在AngularJS中,如果$scope对象更新,可以触发一个事件来通知另一个组件。观察者模式只包含这样的内容——如果对象被修改,它会向依赖对象广播发生了更改 简言之: $scope.$emit()或$scope.

我在一次采访中遇到过这个问题,我知道如何使用服务和根范围在两个控制器之间共享数据。是否有任何方法可以在不使用服务和根范围的情况下在两个控制器之间传递数据>


请提供任何建议。

AngularJs使用由发送和读取事件组成的观察者模式

很多时候,当应用程序的一部分发生更改时,其他部分需要更新。在AngularJS中,如果$scope对象更新,可以触发一个事件来通知另一个组件。观察者模式只包含这样的内容——如果对象被修改,它会向依赖对象广播发生了更改

简言之:

$scope.$emit()
$scope.$broadcast()
取决于您的位置和“阅读器”是什么

然后


$scope.$on()

AngularJs使用由发送和读取事件组成的观察者模式

很多时候,当应用程序的一部分发生更改时,其他部分需要更新。在AngularJS中,如果$scope对象更新,可以触发一个事件来通知另一个组件。观察者模式只包含这样的内容——如果对象被修改,它会向依赖对象广播发生了更改

简言之:

$scope.$emit()
$scope.$broadcast()
取决于您的位置和“阅读器”是什么

然后


$scope.$on()

最佳做法是使用服务,您也可以通过分配对象文本
$rootScope.sharedVar
来使用
$rootScope
。还有一个
$broadcast
方法,它是一种观察者模式,工作方式类似于pub/sub


最不推荐的方法是利用您的
$parent
作用域并深入您的元素(取决于它在DOM树中的位置)

使用服务的最佳实践状态,您还可以通过分配对象文本
$rootScope.sharedVar
来使用
$rootScope
。还有一个
$broadcast
方法,它是一种观察者模式,工作方式类似于pub/sub

最不推荐的方法是利用您的
$parent
范围并深入查看您的元素(取决于它在DOM树中的位置)