如何比较流星HTML中的两个变量

How to compare two variables in meteor HTML

本文关键字:两个 变量 流星 何比较 比较 HTML      更新时间:2023-09-26

我想将数据库值与DATATYPE=['Text','Boolean ',' Number']进行比较

已经尝试过这两种方法

方法一:https://github.com/raix/Meteor-handlebar-helpers

{#each variant}}
            <li>
         {{#each VARIENTS}}
               {{this.NAME}}
               {{this.DATATYPE}}
           {{#if $eq {{this.DATATYPE}} "Text"}}
  Show this text
 {{/if}}
           {{/each}}
            </li>
           {{/each}}

不工作方法二:JS文件:

 Handlebars.registerHelper('compare', function(var1, var2) {
      return var1 === var2;
    });
Not working

既然你想比较数组和值,你应该在注册助手中创建一些循环-显然你不能匹配数组和字符串。在html中应该是

{{#if compare this.DATATYPE 'value'}}

我假设你想使用它不止一次,如果不只是创建常规的帮助

<标题>编辑

哦,如果VARIENTS是array那么你的助手就没问题,你只是在不同的上下文中使用了DATATYPE变量

如果你删除{{this中的小胡子,你的第一个例子应该可以工作。数据类型}}

处理和逻辑永远不应该在html中完成!在helper中完成,并返回一个集合。

Template.body.helpers({
    VARIENTS2: function() { 
    var x = Varients.find({}, { sort: { rank: -1}}); };
    var y = [];
    var type;
    switch(this.DATATYPE) {
        case "text": type = "t"; break;
        case "boolean": type = "b"; break;
        case "value": type = "blah"; break;
    }
    y.push(type);
    return y;
});