我在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")) %>
虽然我找不到如何应用相同的方法,但是为了在事件被触发时执行第一个片段。我尝试在代码片段顶部添加一个函数签名,然后内联它,以及其他一些方法,但没有一个工作。可以找到完整的索引文件here,虽然我猜这不相关。欢迎提出任何意见。
此代码的作用是根据现有图形填充界面。虽然图片仅在页面加载完成后几秒钟才可用,所以我希望在确保模型可用后执行此代码。
更新
我添加了一个函数定义,虽然我不确定它是否正确。 &#39;三角函数&#39;虽然视图没有改变,但会在事件上打印。
<% @fetchModels= -> : %>
<% console.log("trig") %>
<% for drawing, index in @drawings: %>
. . .
<% end %>
<% Spine.Model.bind('Model:fileLoad',@fetchModels) %>
答案 0 :(得分:0)
必须在Controller中渲染index.eco文件才能进行更改。从那里我必须绑定到一个事件,当该事件被触发时,调用@render函数。