晴明qm 2015-10-10 01:51 采纳率: 0%
浏览 1735

handlebars JS模板引擎的语句问题?

        <script type="text/x-handlebars-template" id="tpl-vote-button">
        {{#if}}
            {{#compare joined 0}}
        <a href="javascript:;" id="btn-vote-submit" class="am-btn am-btn-success am-btn-block">
            <i class="am-icon am-icon-user-plus"></i>
            <span class="am-navbar-label">投票</span>
        </a>
        {{else}}
        <a href="javascript:;" id="btn-vote-submit" class="am-btn am-btn-success am-btn-block am-disabled">
            <i class="am-icon am-icon-user-plus"></i>
            <span class="am-navbar-label">已参与</span>
        </a>
            {{/compare}}
        {{/if}}
        </script>

                var buttonTpl = Handlebars.compile($('#tpl-vote-button').html());
              Handlebars.registerHelper("compare",function(v1,v2,options){
                   if(v1=v2){
                     return options.fn(this);
                   }else{
                     return options.inverse(this);
                   }
                 });

                        $("#button-choice").append(buttonTpl(data.data));

在模板语句这里不知道错在哪了报错

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 11:10
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这段代码使用的是 Handlebars.js 模板引擎。当你运行它时,可能会遇到错误。错误信息是 "Uncaught ReferenceError: $ is not defined"。

    错误的原因是,在 $(document).ready() 函数中,你尝试使用 jQuery 的 $ 对象来获取元素。然而,jQuery 在浏览器加载完成后才被创建和初始化,因此在页面尚未完全加载的情况下,$ 对象是未定义的。

    要解决这个问题,你需要确保在 <head> 部分或 <body> 部分正确地引入 jQuery 库,并且已经正确配置你的 HTML 结构以便在页面加载后执行 jQuery 功能。例如:

    <!-- 引入 jQuery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    
    <!-- 创建一个全局变量用于存储 jQuery 实例 -->
    <script>
        var $ = window.jQuery || jQuery;
    </script>
    

    或者,如果你已经在 <head> 部分引入了 jQuery,那么你应该在页面加载完毕之后立即调用 $()

    <body>
        <!-- 页面内容 -->
        <div id="content"></div>
    
        <!-- 初始化 jQuery -->
        $(document).ready(function() {
            // 页面加载完成后的操作...
        });
    </body>
    

    现在,当你再次运行这个脚本时,错误应该不会出现了。

    评论

报告相同问题?