在 Ractivejs 小胡子中遍历到 parent

Traversing to a parent in Ractivejs mustache

我正在尝试在循环之上获得一个 object,这样我就可以将它用作一个函数,但是在尝试执行 ../../this 时我得到了 undefined,我认为你可以在查看后执行docs.

我的代码目前是这样的:

{{#each locations}}
    <input type="text" name="location[]" value="{{location}}">
    <ul>
        {{#each typeaheadValue}}
            <li on-click="selectValue:{{../../this}}">{{value}}</li>
        {{/each}}
    </ul>
{{/each}}

每个位置 object 都包含一个 ID 和我想在 selectValue 函数中访问的其他属性,但是在尝试查找当前 parent object 时我变得不确定.

我是否必须改为获取每个 parent 的索引并将其传递给函数以获取我想要的 object 位置?

您不能在受限引用的末尾使用 this。可以直接在模板中使用索引和集合获取当前迭代项的引用:

new Ractive({
  el: document.body,
  template: '#template',
  data: {
    locations: [ "Portland", "Brooklyn", "Paris"],
    typeaheadValue: [ "one", "two", "three" ]
  }
});
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>

<script id='template' type='text/html'>
{{#each locations:l}}
    <input type="text" name="location[]" value="{{.}}">
    <ul>
        {{#each typeaheadValue}}
            <li on-click="selectValue:{{locations[l]}}">{{.}} - {{locations[l]}}</li>
        {{/each}}
    </ul>
{{/each}}

</script>