试图制作一些简单的把手帮手
Handlebars.registerHelper('if_eq', function(context, options) {
if (context == options.hash.compare)
return options.fn(this);
return options.inverse(this);
});
Run Code Online (Sandbox Code Playgroud)
得到这个错误.
ReferenceError: Handlebars is not defined
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法.
我已经在我的Meteor项目车把帮手中:
Handlebars.registerHelper('isEq', function(v1, v2, options){
if(v1 === v2){
return options.fn(this);
}else{
return options.inverse(this);
}
});
Run Code Online (Sandbox Code Playgroud)
但更新到0.8,而且从车把后spacebars它不工作了-我在,现在我应该改变其他计算器话题发现Handlebars.registerHelper到UI.registerHelper,但它仍不能工作-任何人都知道如何正确地实施本作spacebars?
我有3个人,每个人对同一个问题都有独特的答案.
1个模板显示名称和问题.另一个不同的模板是答案.(4个模板.1个用于名称/问题,3个其他 - 每个唯一答案1个).
<template name="people">
{{#each profile }}
<h2>{{ name }}</h2>
<p>{{ question }}</p>
<p>{{> answer }}</p>
{{/each }}
</template>
Run Code Online (Sandbox Code Playgroud)
我想设置一个帮助器,这样当每个profile循环运行时,我可以插入正确的命名模板(而不是{{> answer }}3个不同的模板,由他们的名字识别{{> nameAnswers }},也就是说{{> fooAnswers }}.
试过这个,每个显示3个profile,而不是1个profile.
<template name="people">
{{#each profile }}
<h2>{{ name }}</h2>
<p>{{ question }}</p>
{{#if nameHelper=Fred }}
{{> fredAnswers }}
{{/if }}
{{#if nameHelper=Ringo }}
{{> ringoAnswers }}
{{/if }}
{{#if nameHelper=Jackson }}
{{> jacksonAnswers }}
{{/if }}
{{/each }}
</template>
Run Code Online (Sandbox Code Playgroud)
注意: …
我有一个具有类似值的集合,{ "pctFail" : "0.3515500159795462" }当我将其传递给模板并显示为{{myTemplate}}%时,它在我的html中显示为0.3515500159795462%.我如何将其显示为0.35%?
辅助sentencesList对象是包含元素的对象数组text.
HTML:
{{#each sentencesList}}
{{text}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
CLIENT.JS
sentencesList: function() {
return Session.get(SENTENCES)
}
Run Code Online (Sandbox Code Playgroud)
如何反转排序,即最高索引号显示在顶部,索引位置0处的元素位于底部?
我是Meteor的新手并被困在这里.
<h1>{{otherObj.category}}</h1>
{{#each partners}}
<p>{{name}} - {{otherObj.category}}</p>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
在此模板片段中,otherObj是我想要在循环中访问的对象.所以这个输出
<h1>football</h1>
<p>Name1 - </p>
<p>Name2 - </p>
Run Code Online (Sandbox Code Playgroud)
进一步的调查显示循环中的OtherObj是'未定义的'任何想法,我如何在循环内访问它?
作为序言:我对Meteor很新.
我的目标:我正在尝试建立一个将蔬菜存储为集合的网站,将食谱(包含所需的成分)存储为一个集合,并根据用户是否有成分向用户显示食谱列表已勾选.仅显示包含选中标记成分的配方.
为此,我想创建一个临时集合,其中包含带有复选标记的成分,并使用它来识别要显示的配方.我尝试使用会话,但我不知道是否可以插入/删除并从会话中查找项目,所以我更喜欢使用集合.但是,如果多个用户同时使用该网站,我不希望该集合收到干扰,所以我希望该集合对每个访问者来说都是唯一的(客户端和临时用户,如sesson)
到目前为止,我有以下代码:
显示蔬菜的模板:
<template name="veggies">
<ul>
{{#each vegetables}}
<li class="{{#if checked}}checked{{/if}}">
<input type="checkbox" checked="{{checked}}" class="toggle-checked" />
<span class="text">{{vegetable}}</span>
</li>
{{/each}}
</ul>
</template>
<template name="button">
<button class="submit">Sugest recipes</button>
</template>
Run Code Online (Sandbox Code Playgroud)
蔬菜的Javascript文件代码:
Recipes = new Mongo.Collection('recipes');
vegetables = new Mongo.Collection('vegetable');
if (Meteor.isClient) {
// VEGGIES
// this displays the vegetables
Template.veggies.helpers({
'vegetables': function() {
return vegetables.find()
}
});
// this selects toggles the check mark
Template.veggies.events({
"click .toggle-checked": function () {
this._id, {$set: {checked: ! this.checked}};
var ItemID = this._id
Session.set('selectedVeggies', …Run Code Online (Sandbox Code Playgroud) 我有一个动态的代码行:
<label>{{title}}</label>
//template name="header"
Run Code Online (Sandbox Code Playgroud)
我正在使用铁:路由器,该应用程序现在非常简单:
Router.configure({
layoutTemplate: 'ApplicationLayout'
})
Router.route('/', {
template: "home"
})
Router.route('/scientific', {
template: "scientific"
})
Run Code Online (Sandbox Code Playgroud)
我想要一个不依赖于Session动态渲染方式的解决方案{{title}}.
理想情况下,我想在我的路由器代码中的某处定义此标题,并让我的标题自动获取它.我不是特别想在我的Template.rendered回调中做很多Session.set/get over(我似乎在使用Semantic-UI复选框时遇到了这个问题).
你们有没有优雅,超级简单的解决方案?
PS:模板'header'位于ApplicationLayout模板中.ApplicationLayout {{> yield}}的标题下方.
我有一个Mongo.Collection,它包含'Question'对象.每个'问题'都有一个叫做的属性choices
Questions.insert({
text: 'What is the capitol of the US?',
choices: [
"Washington D.C.",
"Houston",
"New York City",
"Los Angeles"
],
correctChoice: 0,
date: new Date().toDateString()
});
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我有这个:
<div class="question">
<div class="question-content">
<p>{{text}}</p>
<ul>
{{#each choices}}
//?????????
{{/each}}
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
为了使包含适当选择的列表项的无序列表更受欢迎,我应该放置什么而不是问号?
谢谢你的阅读.对不起,如果这很容易.我在Meteor还是一个小小的菜鸟.=)
我的Meteor模板之一中有一个select输入,它具有与每个select选项相关的三段数据。我正在尝试将所有三个数据(作为对象)发送到新模板,该模板通过Blaze API在用户选择后触发的“更改”事件上呈现。我的印象是可以使用Blaze.getData方法执行此操作,但是它似乎对我不起作用。我想知道是否有人使用此方法有经验,并且可能能够帮助我进行故障排除。
我设置了一个MeteorPad,并提供了我在此处尝试执行的操作的示例:http ://meteorpad.com/pad/69XGm5nWPutg8an7T/Select%20Item
另外,这是相关的“更改”事件代码:
Template.selectItem.events({
'change .select_item': function(event) {
event.preventDefault();
var view = Blaze.getView(event.target);
console.log(view); // me debugging
var item = Blaze.getData(view);
console.log(item); // me debugging
Blaze.renderWithData(Template.selectedResults, item, document.getElementById('results'));
}
});
Run Code Online (Sandbox Code Playgroud)