Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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 使用指令在控制器之间共享对象_Angularjs_Angularjs Directive_Angularjs Controller - Fatal编程技术网

Angularjs 使用指令在控制器之间共享对象

Angularjs 使用指令在控制器之间共享对象,angularjs,angularjs-directive,angularjs-controller,Angularjs,Angularjs Directive,Angularjs Controller,我的结构如下: <div id="location" ng-controller="locationController">...</div> <div id="markerTypes" ng-controller="filterController">...</div> <div id="map"></div> 据我所知,共享地图主要有两种方法: 通过服务(出厂时为只读服务,与我一样)或 通过$rootScope 但

我的结构如下:

<div id="location" ng-controller="locationController">...</div>
<div id="markerTypes" ng-controller="filterController">...</div>
<div id="map"></div>
据我所知,共享地图主要有两种方法:

  • 通过
    服务
    (出厂时为只读服务,与我一样)或
  • 通过
    $rootScope
但是,为了操作DOM(比如说我使用映射),AngularJS文档使用指令

不要使用控制器来:

  • 操纵DOM-控制器应仅包含业务逻辑。将任何表示逻辑放入控制器会显著影响 它的可测试性。Angular在大多数情况下都有数据绑定,并且 封装手动DOM操作
我可以使用本例中的指令在控制器之间共享映射吗?例如:

<div my-map id="map"></div>

指令不应包含数据模型。为此使用服务或工厂

<div my-map id="map"></div>