Я хочу включить шаблон Blaze с аргументом, а затем использовать значение аргумента в событии. Проблема в том, что когда я включаю шаблон во второй раз с другим аргументом, я получаю значение аргумента из первого экземпляра шаблона в событиях.
Шаблон:
<template name="UploadFormLayoutImage">
<form class="uploadPanel">
<input type="file" name="fileupload" id="input-field">
<label for="input-field">Upload file</label>
</form>
</template>
Включают:
{> UploadFormLayoutImage layoutArea="area1"}}
{> UploadFormLayoutImage layoutArea="area2"}}
js:
Template.UploadFormLayoutImage.onCreated(function(){
this.currentArea = new ReactiveVar;
this.currentArea.set(this.data.layoutArea);
});
Template.UploadFormLayoutImage.helpers({
layoutArea: function() {
return Template.instance().currentArea.get(); //Returns the correct argument value for each instance of the template.
}
});
Template.UploadFormLayoutImage.events({
'change input[type="file"]': function(e, instance) {
e.preventDefault();
console.log(instance.data.layoutArea); //Allways returns 'area1'
}
});
Что мне здесь не хватает? (Это мой первый вопрос о Stackoverflow. Пожалуйста, будьте нежны :))