功能未定义

时间:2018-05-09 15:01:07

标签: javascript html node.js vue.js

这是我的代码:



// And my javascript file verbatims.js :
class Verbatims {
    
      list() {
        return ["c'est super", "j'aime pas", "ça marche bien"];
      }
    }
    
    module.exports = Verbatims;

<!DOCTYPE html>
<html lang="fr">

	<head>
        <meta charset="utf-8">
        <meta content="X-Content-Type-Options: nosniff">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">        
        
        <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/vue.min.js"></script>
        <script src="/src/verbatims.js" type="application/javascript"></script>
        
		<title>My Project</title>
	</head>

	<body>
        <div id="PRISME_data">
            Le nombre de requête est de  : {{ nb_request }}<br>
            <button v-on:click="change">Change value</button>
            <button v-on:click="stop">Arrêter</button>
        </div>

        <script>
            let app = new Vue({
                el:'#PRISME_data',
                data: {
                    nb_request: "toto",
                    ite: 0
                },
                methods: {
                    change: function() {
                        changeNbRequest()
                    },
                    stop: function() {
                        clearInterval()
                    }
                }
            });

            changeNbRequest = function() {
                var timer = setInterval(function() {
                    let verbatim = new Verbatims().list()[ite];
                }, 5000);
            }
        </script>
	</body>
</html>
&#13;
&#13;
&#13;

当我尝试使用我的节点服务器显示我的页面时出现此错误:

未捕获的ReferenceError:未在索引处定义Verbatims:45

就在这一行:let verbatim = new Verbatims().list()[ite];

我不知道为什么,我尝试了很多东西但没有任何作用!你有什么想法吗?

谢谢:)

1 个答案:

答案 0 :(得分:0)

由于以下原因,可能会发生这种情况:

  • 由于以下原因,未在浏览器中加载verbatims.js文件 错误的道路。
  • 到达浏览器的verbatims.js文件 不包含你的班级。
  • 您没有在引用脚本上导入Verbatims类。

修复第三个选项应该是这样的:

 <script type="module">
  import {Verbatims} from './src/vebatim.js';

   ....ommitted for brevity

  changeNbRequest = function() {
            var timer = setInterval(function() {
                let verbatim = new Verbatims().list()[ite];
            }, 5000);
  }
 </script>

其他提示

要改进代码,请尝试将index.html中的所有JS代码放到外部文件中,以便利用ES6导入/导出功能。