Javascript 访问传递给Handler.js模板的上下文(或根对象)
我有一个这样的模板 把手模板Javascript 访问传递给Handler.js模板的上下文(或根对象),javascript,handlebars.js,Javascript,Handlebars.js,我有一个这样的模板 把手模板 <script id="choose-player-template" type="text/x-handlebars-template"> <label>Entity Name:</label> <input type="text" value="{{entityName}}"></input> <ul> {{#players }}
<script id="choose-player-template" type="text/x-handlebars-template">
<label>Entity Name:</label>
<input type="text" value="{{entityName}}"></input>
<ul>
{{#players }}
<li><input type="checkbox" {{#if isSelected}}checked{{/if}}/>
{{name}}
</li>
{{/players}}
</ul>
<input type="button" onclick="saveSelection()" value="Save Selection" style="width:150px;"></input>
</script>
实体名称:
{{{玩家}
-
{{name}}
{{/玩家}
Javascript
<script type="text/javascript">
var playersList = {players: [], entityName: "Name1"}; //I pass this to the handlebar template
</script
var playersList={players:[],entityName:“Name1”}//我把这个传给车把模板
当您传入该对象时,您的上下文已设置为基础。我不知道当你在一个循环中时,如何访问基本对象。如果无法按所需方式获取某些处理,则可能需要创建一个帮助函数来处理这些处理
看起来您想要迭代您的玩家列表。
如果players=['joe','bob','jim']
在模板中我最后有一个。它有一个绑定到函数saveSelection()的“onclick”事件。我想将上下文对象作为参数传递给saveSelection()函数。我希望现在天气晴朗。基本上,我们如何在模板中引用根(或上下文或基)对象。我不知道使用什么名称来表示根对象,所以您是说用户应该选择他们想要的播放器,当他们单击“保存”时,它应该将所有选择的播放器对象发送到函数?我正在将“PlayerList”对象传递到模板。请参阅我问题中第二段代码中的javascript。“PlayerList”对象包含玩家数组。我不希望将“playersList”对象作为参数发送到saveSelection()函数(通过模板的最后一行调用)。我不确定您是否可以像这样在事件处理程序的参数列表中编译JS对象。您需要给每个玩家一个ID,并将该ID传递给该方法。你必须使PlayerList成为一个全局变量。然后在函数中获取ID,并从“全局”PlayerList中提取所选的播放器对象。这正是我所做的。所以你也有同样的想法。反对使用这种方法的唯一理由是将PlayerList公开为全局。否则,我现在有一个工作代码。我结束这个问题。谢谢