如何在Meteor中创建动态javascript语句?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Meteor中创建动态javascript语句?相关的知识,希望对你有一定的参考价值。

我想更有效地在下面的一系列反应变量中设置值:

Template.instance().editType.set(false);
Template.instance().editZip.set(!template.editZip.get());
Template.instance().editHeadCount.set(false);
Template.instance().editDate.set(false);
Template.instance().editTime.set(false) ;
Template.instance().editDuration.set(false);

我编写了以下函数,但它不起作用,因为我收到错误(TypeError:Template.instance(...)。eval不是函数):

function turnOffSelect(currentDiv) {
    var divArray = ['.editType', '.editZip', '.editHeadCount', '.editDate', '.editTime', '.editDuration' ]  
    for (i = 0; i < divArray.length; i++) {
        if (divArray[i] != currentDiv) {
            Template.instance().eval(divArray[i]).set(false);           
        }
    }
}

请帮忙

答案

你能不能只使用括号表示法而不是求助于eval?

function turnOffSelect(currentDiv) {
  ['editType', 'editZip', 'editHeadCount', 'editDate', 'editTime', 'editDuration'].forEach(
    el => { Template.instance()[el].set(false) }
  );
}

以上是关于如何在Meteor中创建动态javascript语句?的主要内容,如果未能解决你的问题,请参考以下文章

Meteor.js:如何通过 Javascript 动态设置 div 高度

使用 Meteor.js 的桌面应用程序

如何将在我的 Javascript 中创建的字符串数组传递给 C# 代码隐藏文件?

如何在 TypeScript 中创建自定义类型

如何在从 Meteor.method 返回之前等待子流程结果

Meteor -- 如何连接到 mongodb? [复制]