绑定到简单的字符串数组

Ada*_*kis 68 jquery-templates knockout.js

如果我想将模板绑定到一个普通的旧字符串数组,我将什么放在$ {??}表达式中?

我希望这个片段不会太短,以免混淆:

<ul data-bind="template: { name: 'authorTemplate', foreach: authors }">
</ul>
Run Code Online (Sandbox Code Playgroud)

作者很简单 ["a", "b", "c"]

<script type="text/x-jquery-tmpl" id="authorTemplate">
    <li>${what_do_I_put_here???}</li>
</script>
Run Code Online (Sandbox Code Playgroud)

我试过:val value this和this.toString().最后两个显示[object Object],所以我怀疑我离它很近.

Ada*_*kis 102

从文档中,答案是:

使用模板时: ${$data}

不使用模板时: $data

  • 如果不使用模板,它将是`<ul data-bind ='foreach:array'> <li data-bind ='text:$ data'> ...` (15认同)
  • `foreach`文档有一个相关的[例子](http://knockoutjs.com/documentation/foreach-binding.html) (5认同)
  • 对数据或文档链接的解释将有助于谷歌. (3认同)

Nen*_*nad 47

对于未命名的数组(JSON如:["value1","value2"]),它将是:

<ul data-bind="foreach: $root">
 <li data-bind="text: $data"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

$ root关键字可以解决问题.