我已经能够使用lightBox插入这个名为Telescope.modules.add的模板,文件结构看起来很好,但我不能让模板助手与使用Telescope.modules.add函数插入的模板进行交互。以下代码产生客户端错误"Uncaught :无法读取未定义的属性‘帮助’“。没有此帮助方法,模板是可见的,并且确实存在于浏览器视图中。
lightBox.js
if (Meteor.isClient) {
Telescope.modules.add("top", {
template: "lightBox",
order: 0
});
Template.layout.events({
'click .post-content': function (e) {
Session.set('lightBoxPageViewCounter', 1 );
}
});
Template.lightBox.helpers({
lightBoxOn: function() {
return true;
}
});
}Package.js
Package.describe({
name: "admithub:admithub-lightbox",
summary: "popup lightbox for admit hub forum to college email leads",
version: "0.0.1"
});
Package.onUse(function(api) {
api.use([
'accounts-base',
'stylus',
'telescope:core@0.24.0',
'aldeed:simple-schema',
'aldeed:collection2',
'aldeed:autoform'
]);
api.addFiles('lib/client/lightBox.js', 'client');
api.addFiles('lib/client/lightbox.html', 'client');
api.addFiles('lib/client/lightbox.styl', 'client');
});模板名为lightBox,存在于同一个目录中的同一个包中。我已经通过使用全局助手方法来解决这个问题,但是这是一个效率低下的修复方法。
发布于 2015-09-22 19:55:04
您的包加载顺序是错误的,您必须在模板帮助声明(js)之前加载模板声明(html),只需要交换您的api.addFiles调用。
api.addFiles('lib/client/lightbox.html', 'client');
api.addFiles('lib/client/lightBox.js', 'client');https://stackoverflow.com/questions/32725573
复制相似问题