我在 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) %>