我想通过获取嵌套数组的数据来设置textarea的内容。在帮助器中,我定义了文档id和元素id。现在我想获取text
的内容以便在模板中显示。
但我的问题是从findOne结果中获取确切的字段,因此空格键助手{{infotext}}
显然是错误的:
文档JSON
{
"_id" : "8rmzAN3yw79TAKNeD",
"title" : "title",
"tooltips" : [
{
"element" : "16091688",
"text" : "Lorem"
},
{
"element" : "944a0d46",
"text" : "ipsum"
}
]
}
辅助
Template.infotext.helpers({
infotext: function() {
var id = '8rmzAN3yw79TAKNeD',
elementId = Session.get('elementID');
return Articles.findOne({_id: id, 'tooltips.element': elementId});
}
});
模板
<template name="infotext">
<form>
<textarea>{{infotext}}</textarea>
<input type="submit" class="btn btn-default" value="save">
</form>
</template>
答案 0 :(得分:1)
当您仅在文档中的信息之后,您的助手将返回整个文档。你肯定需要修改辅助函数。 (请注意,此代码未经测试,可能无法正常工作,但会为您提供有关如何操作的信息)
Template.infotext.helpers({
infotext: function() {
var id = '8rmzAN3yw79TAKNeD',
elementId = Session.get('elementID');
var doc = Articles.findOne({_id: id, 'tooltips.element': elementId});
var text = '';
if (doc) {
var filtered = doc.tooltips.filter(function(tooltip) {
if (tooltip.element == Session.get('elementID')) {
return tooltip;
}
return false;
});
if (filtered[0]) {
text = filtered[0].text; //returns the first match - assuming there is no duplicates
}
}
return text;
}
});
答案 1 :(得分:1)
有同样的问题,谢谢,这个助手适合我:
python setup.py install