流星蒙戈的返回阵列
Return arrays from meteor mongo
ajduke:bootstrap tagsinput
我正在使用上面的包来创建一个标签系统。我使用了来自上面链接的True Input Value
的<select multiple>
,并将每个标签作为Strings
插入到tag array
中。
这就是我的数据库的样子。
Posts
tags //Array
[0] : sometag //String
[1] : sometag //String
[2] : sometag //String
//and so forth..
所以我的问题是。。。我想将帖子中的所有标签返回到以下格式,这样当我的用户试图编辑他们的帖子时,我就可以重用它来显示标签。
想要的格式
['sometag', 'sometag', 'sometag', and so forth]
第1版
这就是我迄今为止所做的。
Post_Edit.js
Template.postEdit.rendered = function() {
myTags = Posts.findOne({_id: this._id}).tags.fetch(); //AAA
$('.tagsinput').tagsinput('add', myTags); //From above link API
}
我已经尝试过//AAA
线的其他方法,但我没有运气。我试过Posts.findOne.map...
之类的东西。也许我的英语理解能力达不到标准,但《流星》中的文档并没有帮助我更好地理解。
编辑2
Posts.findOne({_id: "ziZw3wLaxFyz3DYP4"}).tags
我试着把它放在浏览器控制台中,并得到了我想要的格式的数组。
但问题是,当我使用它时,它在我的应用程序中不起作用。
当我在postEdit.rendered中使用Posts.findOne({_id: this._id}).tags
时,我会收到这个浏览器控制台错误。Cannot read property 'tags' of undefined
Post_Edit.js
Template.postEdit.rendered = function() {
myTags = Posts.findOne({_id: this._id}).tags;
$('.tagsinput').tagsinput('add', myTags); //From above link API
}
我不明白的是,为什么它在浏览器控制台中工作,而不是我的Template.postEdit.rendered?
在调用Template.postEdit.rendered时,变量myTags未定义是正确的,因为在调用函数时Posts数据库尚未完成加载。
myTags = Posts.findOne({_id: this._id}).tags.fetch(); //AAA
解决方案
有多种策略,包括:
订阅完成后更新DOM
http://docs.meteor.com/#/full/Blaze-模板实例订阅集合更改时重新运行函数
http://docs.meteor.com/#/full/tracker_autorunTemplate.postEdit.rendered = function() { Tracker.autorun(function () { ** NEW LINE ** myTags = Posts.findOne({_id: this._id}).tags; $('.tagsinput').tagsinput('add', myTags); } ** NEW LINE ** }
我已经找到了一种完全不同的方法来解决这个问题。但我仍然想知道为什么我的方法不起作用。。。
post_edit.js
Template.postEdit.helpers({
tags: function(){
Posts.findOne({_id:this._id}).tags;
}
});
post_edit.html
<select class=tagsinput id="tagsinput" data-role="tagsinput">
{{#each}}
<option value="{{this}}">{{this}}</option>
{{/each}}
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- AngularJS卡片转盘:将卡片返回到阵列的末尾
- angular.注射器阵列值未返回当前值
- 流星蒙戈的返回阵列
- 计算数据点阵列与平均值的最大距离,并返回相关数据点
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- ng选择只返回单词'阵列”;
- 可以't滤波器阵列从火球返回