流星:如何设置数组值,在空格内,动态
Meteor: how to set array value, within spacebars, dynamically
我真的不知道如何解释这个…我有一个集合,里面有一个数组当我遍历它的时候,我一直在设置颜色。[0]imageLink和不改变[0],但现在我希望它是动态的,取决于一个函数的值(在这种情况下,函数是viewIndex)。
工作,但不是动态的:
<h3 class='display-price'>$ {{colors.[0].price}}</h3>
我认为会工作,但没有:
<h3 class='display-price'>$ {{colors.[(viewIndex)].price}}</h3>
在对应的js文件中(返回0):
'viewIndex': function() {
console.log(Template.instance().variation.get());
return Template.instance().variation.get();
}
您要做的一种方法是定义一个以colors
和viewIndex
为参数的colorPrice
助手,如下所示:
Template.hello.helpers({
colors() {
return [
{ price: 1},
{ price: 2},
{ price: 3}
];
},
viewIndex(){
return 1;
},
colorPrice(colors, viewIndex){
return colors[viewIndex].price;
}
});
然后,在你的模板中你可以这样使用它:
<template name="hello">
${{ colorPrice colors viewIndex }}
</template>
所以感谢Kalman让我想到一种使用更多javascript的动态方法!我的解决方案本质上是通过调用{{#with item}}中的helper函数来使用helper和"this"关键字,它传递给"this"它所处的当前项的所有值,所以基本上这是可能的:
variationImage() {
return this.colors[Template.instance().variation.get()].imageLink[0];
},
variationLink() {
return this.colors[Template.instance().variation.get()].referralLink;
},
variationPrice() {
return this.colors[Template.instance().variation.get()].price;
}
那时获取这些值就像在需要价格的地方使用{{variationPrice}}一样简单。
{{#with item}}
<h3 class='display-price'>$ {{variationPrice}}</h3>
{{/with}}
为了更多地了解变化是如何工作的,每个项目都有几乎随机数量的变化(因为我们刮掉了它们),所以我们必须沿着这些行做一些事情来渲染有多少变化,并设置你正在看的变化:
(其中colors是包含项目不同颜色变化的数组)
{{#each colors}}
<option value='{{@index}}'>Variation {{variationIndex @index}}</option>
{{/each}}
(helper函数)variationIndex(index) {
return index+1;
}
(事件函数设置变化值)
'change .color-variation-select': function(event, template) {
template.variation.set($(event.target).val());
},
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 我如何找到一个句子中的所有空格并替换忽略它们
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- Regex代码只允许一个空格
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 动态下拉菜单,$_GET带空格
- 动态验证输入框是否有空格或是否为空
- 如何在不使用 CSS 的情况下在动态添加的 javascript DOM 元素中保留空格
- javascript动态生成表格时,如何在表格单元格中插入空格
- 带有空格的动态json数据
- 当选项包含空格时,在select下拉列表中动态追加值会在下拉列表中追加空字段
- 如何在空格中使用动态对象属性名
- 流星:如何设置数组值,在空格内,动态