首页 > 解决方案 > 映射 jquery 函数对象并将它们传递给模板事件实例函数

问题描述

我在一个Template.instance_name.events()函数中有十几个这样的事件:

'click .bname1': function(e, i) {
  $('.course').show()
  $('.course').not('.name1').hide();
},
'click .bname2': function(e, i) {
  $('.course').show()
  $('.course').not('.name2').hide();
}, ...

我希望使用名称数组 ['name1', 'name2', 'name3', ...] 来创建事件对象

我尝试了以下方法,创建了一个 o = {} 空对象,并在我的名字的映射函数中创建了这样的事件对象:

o['click .b' + name] = function (e, i) {
  $('.course').show()
  $('.course').not('.' + name).hide();
}

但是当我将 o 对象传递给我的事件函数时,它不起作用。

编辑:

问题不是来自地图功能,而是来自对数据库的调用。

该映射是在 Template.templatename.onCreated 函数中使用对 db 的调用创建的。

var arr =  db.find({type: 'course'}).fetch();

但似乎结果的获取与非持久结果不一致:空数组main.js:41 [] 或完整

main.js:41 (20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

那么当数组中没有结果时,地图不起作用。并且不知道如何解决这个问题。我试过了,this.autorun但结果仍然不一致。

标签: jquerymeteormeteor-blaze

解决方案


推荐阅读