Vue第一天
什么是 Vue.js?
- Vue.js是前端的主流框架之一,与 Angular.js、React.js一起,并称为前端三大主流框架
- Vue.js是一套构建用户界面的框架,只关注视图层,它不仅易上手,还便于与第三方库或既有项目整合。同时,Vue.js也有配套的第三方类库,可以整合起来做大型项目
- Vue.js的主要工作?主要负责MVC中的 V 这一层:主要工作就是和界面打交道,来制作前端页面效果
为什么要学习Vue.js?
- 企业为了提高开发效率
- 在Vue.js中,一个核心的概念就是让程序猿不在操作DOM元素,让程序猿可以更多的时间去关注业务逻辑,从而优化用户体验
- 增强就业竞争力。现如今,大多数企业都要求会使用 Vue.js
框架和库的区别
- 框架:是一套完整项目的解决方案,对项目的侵入性较大,当一个项目需要更换框架的时候,则需要重新架构整个项目
- 例如: Node 中 Express;
- 库:提供某一个小功能,对项目的侵入性较小,当在做项目时一个库无法实现某些需求的时候,可以使用其他库来实现某些需求
- 例如: jquery, Zepto, art-template
后端中的 MVC 和 前端中的 MVVM 的区别
- MVC: 是后面的分层开发概念。M 为 Model(模型层)、V 为 View(视图层)、C 为 Controller(处理层)。模型层:只能单一,只负责数据库的操作,CRUD(增删改查); 视图层:每当用户操作了界面,如果需要进行业务的处理,就会通过网路请求,去请求后端的服务器。处理层:一般的我们将处理层分为三个模块:入口模块,路由处理模块,业务逻辑处理模块。
- MVVM:是前端视图层的概念:主要关注视图层内部的分享。同样的,MVVM 也分为三个部分: Model,、View、 VM ViewMoel。其中, VM 是MVVM 的思想的核心,因为 VM 为 M 与 V 之间数据的调度者。总体关系请看下图:

Vue.js 的基本代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>独秀不爱秀</title> </head>
<body>
<div id="app">
<p>{{ msg }}</p>
</div> <!-- 1.导入 vue 的包 -->
<script src="./vue/vue-2.4.0.js"></script> <script type="text/javascript">
// 2.创建一个 vue 的实例
let vm = new Vue({
el: '#app', // 表示:当前我们 new 的这个 Vue 实例,要控制页面上的哪个区域
data: { // data 属性中,存放的是 el 中要用的数据
msg: '欢迎学习Vue' // 通过 vue 提供的指令,很方便的就能把数据渲染到页面上,程序猿不在手动操作DOM元素了
}
});
</script>
</body>
</html>
在上面这个例子中, div#app 这个元素区域就是 MVVM 中的 V(HTML结构)、我们 new 出来的 vm 就是 MVVM 中的 VM(调度者), data 就是 MVVM 中的 M(提供页面中需要的数据)。
基本指令
- v-cloak: 能够解决插值表达式({{}})的问题,只会替换自己的占位符,用法:
<p v-cloak>{{ msg }}</p>同时在 css 文件中添加:
[v-cloak] {
display: none;
} - v-text: 默认解析字符串,会覆盖元素中原本的内容,用法:
<h1 v-text="msg">==========</h1>
这样的话,Vue实例中 msg 中的内容就会替换掉 ===========
- v-html: 用来解析 HTML 代码,也会覆盖元素中原本的内容,用法:
<div v-html="msg2">123456</div>
msg2: '<h2>哈哈,我是 h1 元素</h2>',这样运行在浏览器时会解析 HTML 代码 - v-bind: 用于绑定属性(简写 :),用法:
<input type="button" value="按钮" v-bind:title="mytitle + '123'">
简写:
<input type="button" value="按钮" :title="mytitle + '123'">
- v-on:用于绑定事件机制(简写 @),用法:
<button type="button" v-on:click="show">点击</button>
简写:
<button type="button" @mouseover="show">鼠标进入</button>
事件修饰符
- .stop: 阻止事件冒泡,用法:
<div class="inner" @click="divHandle">
<button @click.stop="btnHandle">戳他</button>
</div> - .prevent:阻止默认行为,用法:
<a href="http://www.baidu.com" @click.prevent="goBaidu">有问题,问度娘</a>
- .capture:捕获触发事件,用法:
<div class="inner" @click.capture="divHandle">
<button @click="btnHandle">戳他</button>
</div> - .self: 只有当用户操作当前元素时才能触发该事件,用法:
<div class="inner" @click.self="divHandle">
<button @click="btnHandle">戳他</button>
</div> - .once:只触发一次事件,用法:
<a href="http://www.baidu.com" @click.prevent.once="goBaidu">有问题,问度娘</a>
Vue第一天的更多相关文章
- 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:
小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...
- 总结Vue第一天:简单介绍、基本常用知识、辅助函数
总结Vue第一天:简单介绍.基本常用知识.辅助函数 中文官网:https://cn.vuejs.org/v2/guide/syntax.html 遇到不熟悉的可以先看一下官网,然后再看一下一些别人写的 ...
- Vue第一个自定义组件:数字输入框(number-input)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 18课 Vue第一节
Q1: url-loader必须搭载file-loader?Q2: 图片的打包问题,如果直接写在img标签里用src引用图片,该如何打包?Q3: 如何根据不同的页面html模板打包与之对应的css/j ...
- 01 (H5*) Vue第一天
目录 1:什么是Vue.js 2:MVC和MVVM. 3:为什么要学习前段框架 4:框架和库的区别 5:怎么使用Vue. 6:常见的Vue指令 7: 五大事件修饰符 8:在vue中使用class样式 ...
- vue第一篇(搭建vue开发环境)
1.下载node并安装 下载地址: https://nodejs.org/zh-cn/ 下载后双击文件安装 2.检查是否安装成功 node -v v10.16.0 npm -v 6.9.0 如果能正常 ...
- day 97 VUE第一天
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 学习Vue第一节,Vue的模式与写法格式
引用Vue <script src="js/vue-2.4.0.js" type="text/javascript" charset="utf- ...
- VUE第一个项目怎么读懂
VUE介绍 VUE是前端开发框架. 原始的前端开发需要工程师写html.写css.写javascript(js).js是脚本语言,浏览器可以运行js来执行一些js支持的动作,例如点击反馈,下拉菜单.操 ...
随机推荐
- 201671010459 张旭辉 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 作业学习目标 (1)掌握软件项目评审会流程(2)反思总结课程学习内容 github仓库地址链接 [Git ...
- debug模式不报错,release模式报错
经常会 char * pMem = new char[icount]; 其中icount为变量,然后对该内存段猛的操作.release编译出来,出现莫名奇妙的错误.但是debug没问题. 后面查了别人 ...
- Python基础之函数定义及文件修改
函数 函数的定义 #登录函数和注册函数 def register(): """注册函数""" username = input('请输入你的 ...
- Android 开发基础入门篇: Android Studio 导入工程
最简单的方式 等待加载完就好了
- 请描述一下cookies、sessionStorage、localStorage、session四者的区别?
存储大小: cookie在4K以内. sessionStorage和localStorage在5M以内. 有效时间: cookie:如果未设置过期时间,关闭浏览器时清空:如果设置了有效时间则在到期后清 ...
- iptables 自定义链
当默认链中的规则非常多时,不方便我们管理. 想象一下,如果INPUT链中存放了200条规则,这200条规则有针对httpd服务的,有针对sshd服务的,有针对私网IP的,有针对公网IP的,假如,我们突 ...
- Android 从零编写一个带标签 TagTextView
最近公司的项目升级到了 9.x,随之而来的就是一大波的更新,其中有个比较明显的改变就是很多板块都出了一个带标签的设计图,如下: 怎么实现 看到这个,大多数小伙伴都能想到这就是一个简单的图文混排,不由得 ...
- Java集合详解8:Java集合类细节精讲,细节决定成败
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- SQLServer ---------- 安装SQLserver数据库
1.安装SQLserver 数据2008 的地址 https://jingyan.baidu.com/article/948f592434b407d80ef5f97d.html?qq-pf-to=pc ...
- C++之救济金发放问题
n(n<20)个人站成一圈,逆时针编号为1~n.有两个官员,A从1开始逆时针数,B从n开始顺时针数.在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上).接 ...