在使用vue写第一个程序时,控制台报错,Vue is not defined

在index.html中写入HTML程序

<head>
    <link rel="stylesheet" type="text/css" href="js/index.js" />
    <script type="text/javascript" src="js/vue.min.js"></script>
</head>
<body>
    <div id="hello">
        {{ message }}
    </div>
</body>

在index.js中写入vue的js代码 

var app = new Vue({
    el: '#hello',
    data: {
      message: 'Hello World!'
    }
  })

此时,控制台报错

通过检查发现,将index.js调整到body体中,此时程序可以正常运行

运行界面: 

  • 结论

在HTML导入外部js时,有两种选择,一种是将js放在head体中,一种是将js放在body体中。

如果将其放在head中,则js会在被调用时才执行。

如果将其放在body中,则js会在页面加载时被执行。

根据我们在此处的需求,vue.min.js是需要在页面加载时就执行,这样在我们的程序运行过程中就可以调用vue中的方法了,故在head中引入vue.min.js文件,而index.js中的方法是我们对界面进行操作的,故需要在页面加载完成后,被调用时再执行,所以要将js文件导入到body中。

此时,问题成功解决。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐