车把中的子字符串助手

Substring helper in handlebars

我可以在 Handlebars 中编写一个助手来判断一个字符串是否是另一个字符串的子字符串吗?

我写了下面的代码,但它似乎不起作用

这是帮手:

'if_sub': function(a, b, opts) {
     if (a.includes(b))
         return opts.fn(this);
     else
         return opts.inverse(this);
 }

这是实现:

{{#if_sub colvalues "success"}}
    <td class="log-success"> {{colvalues}} </td>
{{/if_sub}}

只是小错。 if (a.includes(b)) 应该是 if (b.includes(a))

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>How to render html with Handlebars.js</title>
  <script src="https://cdn.jsdelivr.net/handlebarsjs/4.0.3/handlebars.min.js"></script>
  <script src="http://code.jquery.com/jquery-latest.min.js"    type="text/javascript"></script>
 
  <script id="simple-template" type="text/x-handlebars-template">

      {{#if_sub colvalues "success"}}
    <td class="log-success">  {{colvalues}} </td>
      {{/if_sub}}
  </script>
  
  <script type="text/javascript">
        Handlebars.registerHelper("if_sub",function(a, b, opts) {

     if (b.includes(a)){
       return opts.fn(this);
     }
         
     else{
       return opts.inverse(this);
     }
         
 });
  
    //wait for page to load
    $(document).ready(function(){
      var raw_template = $('#simple-template').html();
      var template = Handlebars.compile(raw_template);
      var data = {colvalues:"suc"}; //change value and see.
      var html = template(data);
      $('#main').append(html);

    });
  </script>
</head>
  
<body>
<!-- Insertion point for handlebars template -->
<div id="main" style="margin-left:100px">
</div>
</body> 
</html>