如何在启动dashing窗口小部件时获取数据?
ready
是called when the widget is done being rendered。
class Dashing.Tagcloud extends Dashing.Widget
ready: ->
onData: (data) ->
我构建的小部件使用D3来显示数据。在初始加载时,窗口小部件为空。连续事件轮询将填充D3小部件。所有其他小部件都会尽早获取数据。有没有办法触发立即查询数据?
在第一次运行时调用D3和/或jQuery是否还没准备好?
答案 0 :(得分:3)
您可以在窗口小部件的标记中隐藏DOM元素中发出数据:
<ul style="display: hidden" data-foreach-item="items">
<li>
<span class="name" data-bind="item.name"></span>
<span class="count" data-bind="item.count"></span>
</li>
</ul>
然后从DOM收集数据:
tagData = ->
items = $(@node).find('ul.items li')
for i in items
name = $(i).find('span.name').text()
count = parseInt $(i).find('span.count').text()
{ name: name, count: count }