这是angular google map的片段:
<ui-gmap-markers models='theWinner' events="map.markerEvents" coords='"coordinates"'>
<ui-gmap-windows show="show">
<div ng-non-bindable>{{ coordinates }}</div>
<div ng-click="$root.derp(coordinates)">navigate</div>
</ui-gmap-windows>
</ui-gmap-markers>
我需要derp()
进入$root
才能在有角度的谷歌地图中使用它。我还需要传递coordinates
,这些$scope
定义为常规的&#39; {{ coordinates }}
。原样,上面的代码不起作用。 $root.derp()
可供模板使用,但不是不传递给coordinates
。
解决此问题的最简洁方法是什么?谢谢!
编辑:我发现我可以在$root
变量中明确创建$scope.$root.coordinates = coordinates;
的副本,如下所示:
GetSchema
有点乱,有两个相同变量的副本,但它有效。有没有更好的办法?我不喜欢滥用$ root。
答案 0 :(得分:0)
为什么你需要derp()到$root
?如果为了在控制器之间共享数据,您应该使用工厂/服务。
如果您已经自己回答无法解决问题,那么正确的方法是“复制”/设置值。
A similar question