车把未定义

斯特韦里诺

我是JS的新手,从没尝试过把手。我正在尝试教程中的一个非常简单的示例。我已经handlebars-v4.0.5.js从Handlebars网站下载了该文件,并将其与我预编译的模板一起包含在我的页面中,如下所示name-table.js我正在尽我最大的努力来完成本教程,但我做不到,因为当我运行以下代码时ReferenceError: Handlebars is not defined,如果我从Handebars自己的网站下载了文件,则会得到我无法理解的信息。在任何方面都是有效的。

<html>
    <head>
        <meta charset='UTF-8'>
        <title>Test Page!</title>
        <script type='text/javascript'>
            function init() {
                document.getElementById('button').addEventListener('click', buttonClick, false);
            }
            function buttonClick() {
                var injection = Handlebars.templates['name-table'];
                document.getElementById('button').innerHTML = injection;
                console.log('hello, world.');
            }

            window.addEventListener('load', init, false);
        </script>
    </head>
    <body>
        <button id='button'>Button</button>
        <div id='content'></div>

        <script type='text/javascript' rel='js/handlebars-v4.0.5.js'></script>
        <script type='text/javascript' rel='js/name-table.js'></script>
    </body>
</html>

编辑:我标记的答案解决了问题。此代码中出现另一个错误,我想让任何阅读此内容的人都知道,var injection此代码中定义的是一个函数,而不是我想象的字符串。如果rel更改src为给定的答案,并且使用document.getElementById('button').innerHTML = injection();(请注意括号),则此代码将起作用

西蒙·坎贝尔

您没有在Handlebars(或名称表脚本)中加载。您当前具有以下标记:

    <script type='text/javascript' rel='js/handlebars-v4.0.5.js'></script>
    <script type='text/javascript' rel='js/name-table.js'></script>

您应该对脚本标记使用src属性而不是rel属性。

    <script type='text/javascript' src='js/handlebars-v4.0.5.js'></script>
    <script type='text/javascript' src='js/name-table.js'></script>

Mozilla的文件没有指定rel属性为有效的脚本标记属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章