Vue报错 [Vue warn]: Cannot find element

在前端开发全面进入前端的时代 作为一个合格的前端开发工作者 框架是不可或缺的Vue React Anguar 作为前端小白,追随大佬的脚步来到来到博客园,更新现在正在学习的Vue

注 : 相信学习Vue的都已经比较熟练的掌握了Js基础 ES6 jquery 日常代码调试 Node.js 环境 npm使用 不然学Vue可能比较吃力

推荐安装Vue的Chrome拓展程序方便调试代码(在谷歌商店搜索Vue 下载第一个)

vue官网指南 > https://cn.vuejs.org/v2/guide/index.html

vue在线库

 <script src="https://cdn.jsdelivr.net/npm/vue"></script>

Vue -- Hello word

HTML代码: 
<div id="app">
        {{ message }}
    </div>

js代码:
var app = new Vue({
    el: '#app',  //el指定位置 css选择器
    data: {
        message: 'Hello Vue!'   //加载数据  app.message可以直接访问
    }
})

看到这一步,可以确认我们打印出了第一行Vue代码,我们要怎么确认呢?打开你的浏览器的 JavaScript 控制台,并修改 app.message 的值,你将看到上例相应地更新

  • 注意!!!!!!! 刚开始会遇到这样的错误 [Vue warn]: Cannot find element

为什么呢 ? 因为: 你的脚本是在目标dom元素被加载到dom之前执行

具体解释: 你已经将你的脚本放置在页面的头部或放置在div元素之前的脚本标记。所以当脚本执行时,它将无法找到目标元素,从而出现错误。

我的解决办法 将引用的Vue库 和main.js 放在代码的最后面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
</head>
<body>
</body>
<script src="vue.js"></script>
<script src="main.js"></script>
</html>

新手请勿踩坑

接下在就开始Vue学习了

参考 Vue官方文档 书籍:Vue.js实战 个人感觉文档说说的很好 但是细节说的并不多 在博客中也对小细节进行补充

实例与数据

Vue.js 的创建非常简单 ,使用构造函数Vue就可以创建Vue的根实例,并启动Vue实例

var app = new Vue({
    el:"#app",
    data:{}
    //选项
})

变量app代表这个实例

事实上几乎 所有的代码都是一个对象,写入Vue的实例选项内

上面说的太正式了 说简单点 吧,首先说一下 eldata代表什么

  • el : 用于指定一个页面已经存在的DOM (就是 id class) 来挂载Vue实例 可以使用js的DOM原生代码或者CSS选择器
  • data : 可以理解为Vue用到的数据值
var app = new Vue({
    el:"#app",//document.getElementById("app") 当然推荐css选择器写法啦
    data:{
        data:1    //html 的{{ data }} 就是 1
    }
    //选项
})

Vue特性 双向绑定

Vue.js很有特色的功能 不说太多 贴代码

  <div id="app1">
       <input type="text" v-model="my">  //v-model 双向绑定
       {{ my }}
  </div>

js:
new Vue({
    el:"#app1",
    data:{
        my:"欢迎来到Vue"
    }
})

在输入框内输入就是左边的input就会实时变化

虽然 v-model虽然很像使用了双向数据绑定的 Angular 的 ng-model但是 Vue 是单项数据流v-model 只是语法糖而已 不过这不影响初学者使用,了解一下

今天就写这么多吧

​ 2018-2-26 23:42

原文地址:https://www.cnblogs.com/wuvkcyan/p/8476981.html