0

我在 index.eco 中有以下代码

<% for drawing, index in @drawings: %>
    <li class="span4 well">
      <div style="margin-bottom: 10px;">
        <h3 style="margin-top: 0;"><%=drawing.name%></h3>
      </div>
      <div>
        <a href="#/drawings/<%=drawing.id%>">
          <img src="<%=drawing.cache%>" style="background-color: white; border: 1px solid #ddd">
        </a>
      </div>
      <div style="margin-top: 10px; text-align: right;">
        <button class="btn btn-danger delete" data-id="<%=drawing.id%>" style="display:inline;">Delete</button>
      </div>
    </li>
    <% if (index + 2) % 3 is 0: %>

这段代码工作正常,虽然我现在想在每次触发事件时执行它。我发现了如何使用它来监听事件:

    <% Spine.Model.bind('Model:fileLoad',(map) => console.log("triggered")) %>

虽然我找不到如何应用相同的方法,以便在事件触发时执行第一个片段。我尝试在片段顶部添加一个函数签名,然后将其内联,以及其他一些方法,但没有一个有效。完整的索引文件可以在这里找到,虽然我猜这无关紧要。欢迎任何意见。

这段代码所做的是根据现有图纸填充界面。虽然图纸仅在页面加载完成几秒钟后才可用,所以我想在确保模型可用后执行此代码。

更新

我添加了一个函数定义,虽然我不确定它是否正确。'trig' 打印在事件上,尽​​管视图没有改变。

<% @fetchModels= -> : %>
  <% console.log("trig") %>
  <% for drawing, index in @drawings: %>
  . . .
<% end %>
<% Spine.Model.bind('Model:fileLoad',@fetchModels) %>
4

1 回答 1

0

必须在渲染 index.eco 文件的控制器中进行更改。从那里我必须绑定到一个事件,并在触发该事件时调用 @render 函数。

于 2013-07-19T18:49:04.350 回答