您如何在启动dashing小部件时获取数据以进行轮询?
ready在小部件完成渲染时调用。
class Dashing.Tagcloud extends Dashing.Widget
ready: ->
onData: (data) ->
我构建的小部件使用 D3 来显示数据。在初始加载时,小部件是空白的。连续的事件轮询将填充 D3 小部件。所有其他小部件都会尽早获取数据。有没有办法触发对数据的立即查询?
在第一次运行时调用 D3 和/或 jQuery 是否还没有准备好?
您可以在小部件标记中的隐藏 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 }