如何在流星空格中访问变量引用的数组元素
How can I access a variable-referenced array element in Meteor spacebars?
在空格模板中,我有一个javascript数组x
和索引到它的i
,例如
Template.test.helpers({
'foo': function() {
return {
x: ['aa','bb','cc'],
i: 1
}
}
});
我可以用{{ x.[1] }}
访问模板中x
的固定元素:
{{template name="test"}}
{{#with foo}}
{{x.[1]}}
{{/with}}
{{/template}}
但{{ x.[i] }}
不工作。
如何访问x[i]
?谢谢!
一个解决方案是定义一个自定义帮助器:
Template.test.helpers({
'getElement': function(a, i) {
return a[i];
}
});
然后在模板中使用:
{{ getElement x i }}
有了这样一个基本的例子,我认为你的助手解决方案是最直接的;然而,目标应该始终是将逻辑从视图层移开(helper &Html),这就是为什么如果空格看起来很有限,它只是一个温和的重构提醒。
对于更复杂的问题,更简洁的方法可能是在需要在模板中使用x[i]之前解决它,或者将x转换为对象。例如,将x[i]保存到数据上下文或模块对象&直接访问它。当您在一个月后重新访问代码时,通过数组索引引用东西会让事情变得很糟糕……
相关文章:
- JavaScript变量引用数组时出现问题
- 通过另一个变量引用变量名称,或从变量确定变量名称
- 使用clearInterval方法实现的是将区间变量引用设置为null,而不是
- JavaScript闭包和变量引用
- 使用Javascript变量引用JSON键
- jQuery变量引用顺序
- 如何将变量引用传递给Observable订阅
- 这些变量引用如何工作
- 更改 JavaScript 中的变量引用
- Javascript变量引用/范围问题
- 在变量引用中使用函数参数
- 在打字稿中创建动态变量引用
- 根据对元素的变量引用从 DOM 中删除该元素
- 闭包中变量引用的意外行为
- 使用变量引用对象属性
- 基于变量引用的 Javascript 更改变量
- 使用变量引用样式属性
- 在 JavaScript 中使用变量引用 JSON 数字键
- 如何将全局作用域变量引用到局部作用域中
- 通过循环变量引用Javascript数组元素