Dashing 小部件中的多个列表

Multiple lists in a Dashing widget

我克隆了 Dashing List 小部件并对其进行了编辑,使其包含三个单独的列表,例如 in this image。与小部件关联的作业向 REST API 搜索端点发出 GET 请求,然后创建前五个结果的散列。除了 class 名称之外,coffeescript 未被修改。

小部件显示每个列表的正确项目数,但未显示实际数据(对象名称和视图数)。我 运行 在调试模式下设置仪表板,并且 it is receiving the correct data,但该数据并未填充到小部件本身。

我对 Dashing(以及它使用的许多框架)完全陌生,这是我遇到的第一个绊脚石 运行。怎么了?

工作:

SCHEDULER.every '1h' do
  ldata = get_data(lots)
  hdata = get_data(houses)
  sdata = get_data(stores)
  send_event('most-pop-items', {litems: ldata[:mostPop], hitems: hdata[:mostPop], \
                            sitems: sdata[:mostPop], titems: ldata[:mostPop]})
end

def get_data(org)
  @data = { }      
  response = org.search({:orgid => @data[:id], :sortField => 'numViews', :sortOrder => 'desc'})
  @data[:numItems] = response['total']

  @data[:mostPop] = {}

  for counter in 0..4
    @data[:mostPop][counter] = {:label => response['results'][counter]['title'], \
                                :value => response['results'][counter]['numViews']}
  end

  return @data
end

小工具 html:

<h1 class="title" data-bind="title"></h1>

<h3 class="htitle" data-bind="htitle"></h3>
<ol>
  <li data-foreach-item="hitems">
    <span class="label" data-bind="hitem.label"></span>
    <span class="value" data-bind="hitem.value"></span>
  </li>
</ol>

<ul class="list-nostyle">
  <li data-foreach-item="hitems">
    <span class="label" data-bind="hitem.label"></span>
    <span class="value" data-bind="hitem.value"></span>
  </li>
</ul>

<br>

<h3 class="stitle" data-bind="stitle"></h3>
<ol>
  <li data-foreach-item="sitems">
    <span class="label" data-bind="sitem.label"></span>
    <span class="value" data-bind="sitem.value"></span>
  </li>
</ol>

<ul class="list-nostyle">
  <li data-foreach-item="sitems">
    <span class="label" data-bind="sitem.label"></span>
    <span class="value" data-bind="sitem.value"></span>
  </li>
</ul>

<br>

<h3 class="ltitle" data-bind="ltitle"></h3>
<ol>
  <li data-foreach-item="litems">
    <span class="label" data-bind="litem.label"></span>
    <span class="value" data-bind="litem.value"></span>
  </li>
</ol>

<ul class="list-nostyle">
  <li data-foreach-item="litems">
    <span class="label" data-bind="litem.label"></span>
    <span class="value" data-bind="litem.value"></span>
  </li>
</ul>

<br>

<h3 class="ttitle" data-bind="ttitle"></h3>
<ol>
  <li data-foreach-item="titems">
    <span class="label" data-bind="titem.label"></span>
    <span class="value" data-bind="titem.value"></span>
  </li>
</ol>

<ul class="list-nostyle">
  <li data-foreach-item="titems">
    <span class="label" data-bind="titem.label"></span>
    <span class="value" data-bind="titem.value"></span>
  </li>
</ul>

<p class="more-info" data-bind="moreinfo"></p>
<p class="updated-at" data-bind="updatedAtMessage"></p>

尝试将您的数据绑定改回原来的状态,只是 item.labelitem.value 这些不必像您为匹配 data-for-each 项所做的那样重命名