什么是Vue?

Vue就是一个渐进式的JavaScript框架。

为什么要学习前端框架?

我们要做前端,不可避免的要写HTML,要写JavaScript,但是自己一个一个打多麻烦啊,于是,前端之路有了以下的发展变化。

  1. 原生JavaScripts:各个浏览器的兼容性无法保证
  2. Jquery
  3. 前端引擎模板:表格1000条数据渲染不行
  4. Vue/Angular之类的框架

接下来详细的介绍一下上面的4部分。

首先,原生JavaScript的缺点是各个浏览器的兼容性无法保证。于是出现了Jquery

Jquery解决了浏览器兼容性的问题,但是操作DOM很麻烦

前端引擎模板解决了操作DOM的问题,但是渲染的时候会重复渲染,我举个例子,列表里面有数据1,3,2,4我要排序,前端引擎肯定会重新排序,但是1和4是不需要动的呀,这还是4条数据,假如1000条,1万条呢?而且,前端模板在处理一些复杂度高的情况下还是很麻烦。框架,就很好的解决了这个问题。

Vue的核心概念就是用户不在操作dom,Vue的数据双向绑定让开发人员只专注于业务。

当然框架也是有缺点的,对项目的入侵性比较大,例如你项目使用的框架是Vue,你做了一半了,突然想换成React,Angular,这当然是很麻烦的,几乎相当于重头构建了

MVC,MVP 和 MVVM

这三种模式需要了解一下,我就不写了,推荐看阮一峰的博客MVC,MVP 和 MVVM

我们的Vue,就是MVVM模式

最简单的入门小案例

下载Vue.js

使用Vue的方式有很多种,比如Vue.js,脚手架等,我先使用Vue.js,后面再讲脚手架的事情。

在官网下载https://cn.vuejs.org/v2/guide/installation.html

推荐使用这个开发版本。

新建文件结构

我是这样新建文件夹存放文件的

我新建了一个Vue文件夹,然后内部有两个文件夹,lib放js文件,html放html文件。然后把Vue文件夹拖到VS Code里面,对,我的编辑器使用的VS Code

写一个html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title> <script type="text/javascript" src="../lib/vue-2.6.10.js"></script> </head>
<body> <div id="app">
{{ msg }}
</div> <script>
var vm=new Vue({
el: '#app',
data: {
msg: '许嵩哈哈哈'
}
})
</script> </body>
</html>

运行

运行这里,讲一个插件view-in-browser,记住,有-的,还有一个同名但是没有-的不好用,认准这个,好用

然后就可以在html文件上右键,使用浏览器打开了。你可以看到

可笑的小报错

我在引入js的时候啊,只能自己手打,于是我少打了.我是这样引入Vue.js的

<script type="text/javascript" src="/lib/vue-2.6.10.js"></script>

可以看到,我没有加 .. 因为我的html文件在html文件夹下,所以加.是代表当前,..才是父一级目录,学过Linux的熟悉这个。我忘了加 .. 于是造成了下面这个可笑的报错

Vue和MVVM

说了,Vue就是MVVM模式的,怎么解释?

我把上面HTML中的Vue部分摘出来,注释里讲解一下

 <!-- 这个div就是MVVM中的V,View -->
<div id="app">
{{ msg }}
</div> <script>
// 这个vm就是MVVM中的VM,ViewModel
var vm=new Vue({
el: '#app',
// 这个data就是MVVM中的M,Model
data: {
msg: '许嵩哈哈哈'
}
})
</script>

防盗链接:本博客由蜀云泉发表

Vue学习笔记一:初识Vue的更多相关文章

  1. Vue学习笔记十三:Vue+Bootstrap+vue-resource从接口获取数据库数据

    目录 前言 SpringBoot提供后端接口 Entity类 JPA操作接口 配置文件 数据库表自动映射,添加数据 写提供数据的接口 跨域问题 前端修改 效果图 待续 前言 Vue学习笔记九的列表案例 ...

  2. Vue学习系列(一)——初识Vue.js核心

    前言 vue.js是一套构建用户界面的渐进式框架,vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件. vue通过DOM事件操作和指令来进行视图层和模型层的相互通讯,会为每一 ...

  3. Vue学习笔记七:Vue中的样式

    目录 两种样式 class样式 内联样式 两种样式 Vue中使用样式方式有两种,一种是class样式,一种是内联样式也就是style class样式 class样式使用的方式有5种,HTML如下 &l ...

  4. vue学习笔记:在vue项目里面使用引入公共方法

    首先新建一个文件夹:commonFunction ,然后在里面建立 一个文件common.js 建立好之后,在main.js里面引入这个公共方法 最后是调用这个公共方法 测试一下,我在公共方法里面写了 ...

  5. vue学习笔记-初始化一个vue项目(1)

    1.cnpm install -g vue-cliUsage:vue init <template-name> <project-name> 2.我们一般使用webpack模版 ...

  6. vue学习笔记:Hello Vue

    编写简单例子,了解下基本语法 <!DOCTYPE html> <html> <head> <meta charset="utf-8 "&g ...

  7. 【Vue 学习笔记 一、Vue开发环境搭建】

    搭建Vue的开发环境 1.首先安装Nodejs  (因为我的系统是Windows的所以就选择第一个了,这个看个人的开发环境) 下载好后,然后一路确定,如果有更改安装目录的需求,就自己切换安装目录,由于 ...

  8. Vue学习笔记-2

    前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...

  9. Vue学习笔记-1

    前言 本文不是Vue.js的教程,只是一边看官网Vue的教程文档一边记录并总结学习过程中遇到的一些问题和思考的笔记. 1.vue和avalon一样,都不支持VM初始时不存在的属性 而在Angular里 ...

  10. vue 学习笔记(二)

    最近公司赶项目,一直也没时间看 vue,之前看下的都快忘得差不多了.哈哈哈,来一起回顾一下vue 学习笔记(一)后,继续向下看嘛. #表单输入绑定 基础用法 v-model 会忽略所有表单元素的 va ...

随机推荐

  1. 【English】六、am,is,are 分别用在什么地方

    is:第三人称单数am:第一人称单数are:第二人称单数,第一.二.三人称的复数 用于第一人称, I am ......(我是.......)用于第三人称, He is ......(他是...... ...

  2. ext前后台数据传输的标准化

    一.标准化的数据传输是什么 这里所说的标准化主要是指,使用代理提交数据时,格式必须统一化.标准化,而服务器返回的数据格式也必须是标准化的数据. 简言之,使用代理提交数据时,前台--->后台,后台 ...

  3. selenium-测试框架搭建(十三)

    思路 分离业务代码和测试数据,提高代码可维护性,实现自动化,减少重复劳动. 一个测试框架大概由配置文件,测试数据,测试用例,相关文件(发送邮件等),测试日志,断言和测试报告等模块组成. 结构 以页面为 ...

  4. mysql(mariadb)主从配置

    环境: 内核版本:uname -r 系统版本:cat /etc/redhat-release

  5. arts打卡第二周

    Algorithm 旋转数组 Given an array, rotate the array to the right by k steps, where k is non-negative. Ex ...

  6. 华硕飞行堡垒fx50 安装ubuntu18.04

    决定把我的渣机脱坑 一.制作启动盘 官方下载ubuntu18.04LTS iso文件 [ubuntu官方链接](https://www.ubuntu.com/download/desktop Ultr ...

  7. .NET程序员我是如何通过一个产品在2年内买车买房

    刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 我写博客的目的其实很简单就是为了分享知识,如有幸能申请当MVP那是最好不过了,这个过程对于“大牛”来说很快,但对于我来说估 ...

  8. 记录使用nodejs时,未正确使用import导致的错误

    2019/04/08 今天看了es6入门,才发现以前碰到的关于import的错误,是因为使用了import,但nodejs默认不支持导致的. 如果想要使用es6的module功能,需要把整个文件的导入 ...

  9. django项目外部的脚本文件执行ORM操作,无需配置路由、视图启动django服务

    #一.将脚本路径添加到python的sys系统环境变量里 import sys # sys.path.append('c:/Users/Administrator/www/mymac') #第一种.绝 ...

  10. mysql 安装 linux系统下

    1.先检查是否安装过mysql,如果没有可进行下面的操作. 2.下载mysql的安装包 cd /usr/local    到这个目录下 mkdir mysql    新建一个mysql文件夹 cd m ...