Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问传递给Handler.js模板的上下文(或根对象)_Javascript_Handlebars.js - Fatal编程技术网

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公开为全局。否则,我现在有一个工作代码。我结束这个问题。谢谢