我需要知道在流星中增加辅助变量计数。
例如:
<head>
<title>hello</title>
</head>
<body>
<h1>Welcome to Meteor!</h1>
{{> hello}}
</body>
<template name="hello">
<button>Click Me</button>
{{#each arr}}
{{counter}} <!-- How to get the foo index here? --> {{name}}
{{/each}}
</template>
Js代码:
if (Meteor.isClient) {
// counter starts at 0
Template.hello.helpers({
counter: function () {
return Session.get('counter');
}
});
Template.hello.helpers({
arr: function () {
console.log(Session.get('arrres'));
return Session.get('arrres');
}
});
Template.hello.events({
'click button': function () {
Session.set('counter', 0);
Meteor.call('arrfun',10, function (error, res) {
if (!error)
{ arrres = res;
Session.set('arrres', arrres);
console.log(res);
}
else{}
} );
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
Meteor.methods({
arrfun:function arrfun(properties, callback)
{
var obj = [];
for(var i = 0 ; i < 10; i++)
{
var obj1 = new Object();
obj1.name = 'abc'+i;
obj.push(obj1);
}
return obj;
}
});
});
}
以上&#39; arr&#39;包含object中出现的名称列表。现在可以迭代&#39; arr&#39;它会出现名字。
现在可以像1 abc一样打印名称 2 xyz直到&#39; arr&#39;完成。
那么我们如何打印从1到#arr&#39;名字之前的长度。
所以请建议我为此做些什么。
答案 0 :(得分:0)
解释你的问题有点难,但我想你想要这个:
Template.hello.events({
'click button': function(event) {
Session.set('counter', Math.round(Math.random() * 10));
}
});
Template.hello.helpers({
'arr': function() {
var counter = Session.get('counter');
var arr = [];
for(var i = 0; i < counter; i++) {
arr.push(i + 1);
}
return arr;
}
});
在您的hello模板中:
<ul>
{{#each arr}}
<li>{{this}}</li>
{{/each}}
</ul>
每次单击按钮时,这将生成0-10之间的随机数,然后模板将依次计算到此随机数。