Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 手柄自定义如果等于辅助对象,则不编译_Javascript_Handlebars.js - Fatal编程技术网

Javascript 手柄自定义如果等于辅助对象,则不编译

Javascript 手柄自定义如果等于辅助对象,则不编译,javascript,handlebars.js,Javascript,Handlebars.js,我在Handlebar中添加了一个自定义帮助器,以实现if==“some string”类型帮助器。助手代码如下所示: Handlebars.registerHelper('if_eq', function(a, b, opts) { if(a == b) // Or === depending on your needs return opts.fn(this); else return opts.inverse(this); }); <

我在Handlebar中添加了一个自定义帮助器,以实现
if==“some string”
类型帮助器。助手代码如下所示:

Handlebars.registerHelper('if_eq', function(a, b, opts) {
    if(a == b) // Or === depending on your needs
        return opts.fn(this);
    else
        return opts.inverse(this);
});
<div id="appStoreParametersModal" class="modal-dialog">
    <div class="modal-content appStoreParametersModal">
        <div class="modal-header hypersignModalHeader">
            <h3>{{appName}}</h3>
        </div>
        <div class="modal-body">
            <div id="app-params">
                {{#each appParm}}
                <form>
                    {{#if_eq uiControlType "text"}}
                    <div class="form-group">
                        <label for="{{qsName}}">{{uiName}}</label>
                        <input type="text" class="form-control" id="{{qsName}}" placeholder="{{uiName}}"/>
                    </div>
                    {{else if_eq uiControlType "dropdown"}}
                    <div class="form-group">
                        <label for="{{qsName}}">{{uiName}}</label>
                        <select class="form-control" id="{{qsName}}">
                            {{#each defaultVals}}
                                <option value="{{value}}">{{displayName}}</option>
                            {{/each}}
                        </select>
                    </div>
                    {{/if_eq}}
                </form>
                {{/each}}
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-warning cancel" data-dismiss="modal" id="cancel">Cancel</button>
            <button type="button" class="btn btn-success" id="appStoreNext">Next</button>
        </div>
    </div>
</div>
模板如下所示:

Handlebars.registerHelper('if_eq', function(a, b, opts) {
    if(a == b) // Or === depending on your needs
        return opts.fn(this);
    else
        return opts.inverse(this);
});
<div id="appStoreParametersModal" class="modal-dialog">
    <div class="modal-content appStoreParametersModal">
        <div class="modal-header hypersignModalHeader">
            <h3>{{appName}}</h3>
        </div>
        <div class="modal-body">
            <div id="app-params">
                {{#each appParm}}
                <form>
                    {{#if_eq uiControlType "text"}}
                    <div class="form-group">
                        <label for="{{qsName}}">{{uiName}}</label>
                        <input type="text" class="form-control" id="{{qsName}}" placeholder="{{uiName}}"/>
                    </div>
                    {{else if_eq uiControlType "dropdown"}}
                    <div class="form-group">
                        <label for="{{qsName}}">{{uiName}}</label>
                        <select class="form-control" id="{{qsName}}">
                            {{#each defaultVals}}
                                <option value="{{value}}">{{displayName}}</option>
                            {{/each}}
                        </select>
                    </div>
                    {{/if_eq}}
                </form>
                {{/each}}
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-warning cancel" data-dismiss="modal" id="cancel">Cancel</button>
            <button type="button" class="btn btn-success" id="appStoreNext">Next</button>
        </div>
    </div>
</div>

{{appName}}
{{{#每个appParm}
{{{#如果{键入“文本”}
{{uiName}}
{{else if_eq uiControlType“dropdown”}
{{uiName}}
{{#每个默认值}
{{displayName}}
{{/每个}}
{{/if_eq}
{{/每个}}
取消
下一个
我得到了这个错误:

未捕获错误:如果_eq不匹配


使用
{{else}
似乎有问题,因为如果我只使用
if_eq
助手,而没有
else
,那么它就可以正常工作。我对车把很陌生,所以我肯定我错过了一些愚蠢的东西。

如果当你有
{{{if{eq stuff“stuff}}}}}}
时抛出了{/if}
而不是
{/if{eq}
,这将建议使用{else}{if}},因为没有其他的话。它对我有用。。。嗯,这很奇怪。我想知道为什么它对我不起作用。也许这和车把的版本有关。我正在开发的应用程序使用的是jquery handlerbars 1.0.0,所以里面可能有一个非常过时的handlerbars版本。是的,看起来就是这样。他们在版本3中添加了elseif的语法,我们远远落后了。在{{{else}中使用{{{if#u eq}}进行嵌套的{{else}似乎解决了这个问题。