Я пытаюсь сделать заявление if x in JSON
в Handlebars. Он работает, за исключением того, что он не возвращает правильный вариант. Это index.html:Пользовательский Handlebars.js помощник, не возвращающий options.fn
{{#dinsdag}}
{{#each uitval2}}
{{@key}}
{{/each}}
{{#isIn 7 uitval2}}
<p>klopt</p>
{{else}}
<p>mwah</p>
{{/isIn}}
{{/dinsdag}}
Это data.js:
$(function(){
var templateScript = $("#entry-template").html();
var theTemplate = Handlebars.compile(templateScript);
var context = { "dinsdag": {
"uitval2": {
"7": "1",
"9": "1",
"11": "1"
},}}
var html = theTemplate(context);
$('.test').html(html);
$(document.body).append(html);
})
И, наконец, это helper.js, где эта проблема должна быть.
Handlebars.registerHelper('isIn', function(waarde, inWaarde, options){
$.each($.parseJSON(JSON.stringify(inWaarde)), function(k, v) {
if (parseInt(k) === parseInt(waarde)){
console.log("true");
return options.fn(this);
}
});
console.log("false");
return options.inverse(this);
});
Он возвращает True
в консоли, но возвращает else
вариант в визуализированном HTML.
Спасибо, я привык к python, где это не проблема. Я еще не могу дать щедрость, ты получишь это завтра! –
Я в порядке, спасибо! – martinczerwi