是否可以创建范围为模板的变量?该变量可以在模板中的不同帮助器之间共享,但不存在于模板之外.
在下面的这个例子中,如何在2个模板之间共享游戏变量,而不重复定义?使用var初始化它使其成为全局,这不是我想要的.谢谢!
Template.userInfo.game = function() { var game = 'angry Bird'; return game + ' game'; }; Template.userInfo.score = function() { var game = 'angry Bird'; return game + ' score'; };
解决方法
如果有人绊倒这个,并且使用Meteor 1.0,那么你可以如何实现这一点.
Template.name.onCreated(function(){ this.data.variableName = "something"; }); Template.name.helpers({ 'helper' : function() { return Template.instance().data.variableName; } });
这样,该变量的作用域就是创建的模板的实例.我有一个页面使用相同模板的多个实例,因此这是非常有用的.
编辑:
所以这对于嵌套在另一个模板中的模板是非常有效的,但是对父模板没有任何效果.数据属性没有持有值,所以我做了一些更多的研究,并在Template.onCreated的例子中找到了this,他们有this.highlightedPicture = new ReactiveVar(null);很明显,您可以在Template实例上定义新的属性.我在两种情况下尝试过,并且它与Template.instance()非常相似.
原文地址:https://www.jb51.cc/js/150271.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。