Angular:通过模板访问$ root中的$ scope变量

时间:2016-05-25 20:55:47

标签: angularjs scope

这是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。

1 个答案:

答案 0 :(得分:0)

为什么你需要derp()到$root?如果为了在控制器之间共享数据,您应该使用工厂/服务。 如果您已经自己回答无法解决问题,那么正确的方法是“复制”/设置值。 A similar question