在指令对我更清楚dygraphs之后,我能够在ng-repeat中使用here。
为了在外部div中使用图例而不是直接在图表上使用图例,必须在options中定义应使用的div的ID。由于它需要是唯一的,我在视图中使用$ index:
<div id="{{$index}}">
</div>
只需使用一个循环计数并向控制器中的选项添加相同的数字:
i = 0
while i < oject.length
labelsDiv: i
++i
我得到了用于在数组中绘制图形的数据,因此我将选项添加到数组中,将所有内容存储在变量中并将其提供给指令:
drawGraph.directive "graph", ->
restrict: "E" # Use as element
scope: # Isolate scope
data: "=" # Two-way bind data to local scope
opts: "=?" # '?' means optional
template: "<div></div>" # We need a div to attach graph to
link: (scope, elem, attrs) ->
graph = new Dygraph(elem.children()[0], scope.data, scope.opts)
根据控制台,这是有效的(选项已经处理到数组,视图中的id-numbers匹配图表选项中的id)。然而,虽然第一张图的第一个图例完美无缺,但其他图的图例未显示,所有图都有错误:
对象1没有方法'appendChild'
对象2没有方法'appendChild'等等。
不幸的是,我甚至不知道问题是什么。似乎ng-repeat只获得了第一个数字,是否还没有加载其他变量?还认为它可能与未被隔离的范围有关,但它们实际上是。
非常感谢你的帮助。