【发布时间】:2015-07-17 00:23:10
【问题描述】:
我的大部分编码都在根目录下的[appname].js 中进行,并且在 app/client/compatibility 中进行了一些第三方库
我能够加载这些库,并在我的 Template.template1.rendered 处理程序中从它们声明和实例化对象,效果很好。
但是,当我想修改Template.template2.events 中的一个变量时,特别是选择器更改时的事件。当我尝试从这里更改它时,它告诉我我的变量未定义。
我尝试在文件顶部的isClient 中声明变量,但这似乎并不重要。没有在那里定义它的场景。
所以我的问题是如何在我的Template.template2.events 中修改这个变量?
var something;
if ( Meteor.isClient ) {
function doSomething(some, value) {
some.property = value;
}
Template.template1.rendered = function() {
if(!this._rendered) {
this._rendered = true;
this.something= thirdParty.Create();
doSomething(this.something, document.getElementById("text").value);
}
}
Template.template2.events({
"change select" : function( event ) {
doSomething(this.something, input );
}
});
从我的change select 事件调用时,doSomething 函数中的something 显示未定义。
【问题讨论】:
-
为了澄清,我在文件顶部声明了变量: var something; if ( Meteor.isClient ) { Template.template1.rendered = function() { something =thirdparty.create;但是我不能修改 template2.events 中的某些内容
-
需要一些代码示例
-
我看到了,我试过了。它似乎不起作用
-
尝试在没有
this的情况下访问变量。所以就以changeImage(imageViewer, input);为例
标签: javascript templates meteor scope