首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Telescope.modules.add时望远镜包中的模板帮助器

使用Telescope.modules.add时望远镜包中的模板帮助器
EN

Stack Overflow用户
提问于 2015-09-22 19:47:48
回答 1查看 82关注 0票数 1

我已经能够使用lightBox插入这个名为Telescope.modules.add的模板,文件结构看起来很好,但我不能让模板助手与使用Telescope.modules.add函数插入的模板进行交互。以下代码产生客户端错误"Uncaught :无法读取未定义的属性‘帮助’“。没有此帮助方法,模板是可见的,并且确实存在于浏览器视图中。

lightBox.js

代码语言:javascript
复制
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

代码语言:javascript
复制
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,存在于同一个目录中的同一个包中。我已经通过使用全局助手方法来解决这个问题,但是这是一个效率低下的修复方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-22 19:55:04

您的包加载顺序是错误的,您必须在模板帮助声明(js)之前加载模板声明(html),只需要交换您的api.addFiles调用。

代码语言:javascript
复制
api.addFiles('lib/client/lightbox.html', 'client');
api.addFiles('lib/client/lightBox.js', 'client');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32725573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档