在 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>
我正在尝试在循环之上获得一个 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>