博客
关于我
Vue基础 --学习
阅读量:331 次
发布时间:2019-03-04

本文共 3257 字,大约阅读时间需要 10 分钟。

文章目录

一、Vue概述

Vue:渐进式JavaScript框架

声明式渲染→组件系统→客户端路由→集中式状态管理→项目构建
官网:https://cn.vuejs.org/v2/guide/
最全的学习方法是在官网哦。

二、Vue基本使用

使用是要引用vue.js文件

2.1 传统开发模式对比

原生js

jQuery

Vue

{ { msg}}

2.2 Vue.js之HelloWorld细节分析

  1. 实例参数分析
    ⚫ el: 元素的挂载位置(值可以是CSS选择器或者DOM元素)
    ⚫ data:模型数据(值是一个对象)
  2. 插值表达式用法
    ⚫ 将数据填充到HTML标签中
    ⚫ 插值表达式支持基本的计算操作
  3. Vue代码运行原理分析
    ⚫ 概述编译过程的概念(Vue语法→原生语法)
    在这里插入图片描述

三、Vue模板语法

3.1 模板语法概述

把数据填充到HTML标签中

在这里插入图片描述
2. 前端渲染方式
⚫原生js拼接字符串
⚫ 使用前端模板引擎
⚫ 使用vue特有的模板语法

3.模板语法概览

⚫差值表达式
⚫ 指令
⚫ 事件绑定
⚫ 属性绑定
⚫ 样式绑定
⚫ 分支循环结构

3.2 指令

  1. 什么是指令?
    ⚫ 什么是自定义属性
    ⚫ 指令的本质就是自定义属性
    ⚫ 指令的格式:以v-开始(比如:v-cloak)
  2. v-cloak指令用法
    ⚫ 插值表达式存在的问题:“闪动”
    ⚫ 如何解决该问题:使用v-cloak指令
    ⚫ 解决该问题的原理:先隐藏,替换好值之后再显示最终的值
{ { msg}}
  1. 数据绑定指令
    ⚫ v-text 填充纯文本
    ① 相比插值表达式更加简洁
    ⚫ v-html 填充HTML片段
    ① 存在安全问题
    ② 本网站内部数据可以使用,来自第三方的数据不可以用
    ⚫ v-pre 填充原始信息
    ① 显示原始信息,跳过编译过程(分析编译过程)
{ { msg}}
//Hello Vue
//

HTML

//HTML(html编写后的)
{ { msg}}
//{ {msg}}
  1. 数据响应式
    ⚫ 如何理解响应式
    ① html5中的响应式(屏幕尺寸的变化导致样式的变化)
    ② 数据的响应式(数据的变化导致页面内容的变化)
    ⚫ 什么是数据绑定
    ① 数据绑定:将数据填充到标签中
    ⚫ v-once 只编译一次
    ① 显示内容之后不再具有响应式功能

3.3 双向数据绑定指令

  1. 双向数据绑定分析
    ⚫ v-model指令用法
    <input type='text' v-model='uname'/>
  2. MVVM设计思想
    ① M(model)
    ② V(view)
    ③ VM(View-Model)
    在这里插入图片描述
{ { msg}}

效果图:在这里插入图片描述

3.4 事件绑定

  1. Vue如何处理事件?
    ⚫ v-on指令用法
    ⚫ v-on简写形式
    <input type=‘button' v-on:click='num++'/>
    <input type=‘button' @click='num++'/>
  2. 事件函数的调用方式
    ⚫ 直接绑定函数名称
    ⚫ 调用函数
    <button v-on:click='say'>Hello</button>
    <button v-on:click='say()'>Say hi</button>

效果图:

在这里插入图片描述
3. 事件函数参数传递
⚫ 普通参数和事件对象
<button v-on:click='say("hi",$event)'>Say hi</button>

效果图

在这里插入图片描述
4. 事件修饰符
⚫ .stop 阻止冒泡
⚫ .prevent 阻止默认行为
<a v-on:click.stop="handle">跳转</a>
<a v-on:click.prevent="handle">跳转</a>
5. 按键修饰符
⚫ .enter 回车键
⚫ .esc 退出键
<input v-on:keyup.enter='submit'>
<input v-on:keyup.delete='handle'>

3.5 属性绑定

  1. Vue如何动态处理属性?
    ⚫ v-bind指令用法
    ⚫ 缩写形式
    <a v-bind:href='url'>跳转</a>
    <a :href='url'>跳转

3.6 样式绑定

  1. class样式处理
    ⚫ 对象语法
    <div v-bind:class="{ active: isActive }"></div>
    ⚫ 数组语法
    <div v-bind:class="[activeClass, errorClass]"></div>
  2. style样式处理
    ⚫ 对象语法
    <div v-bind:style="{ color: activeColor, fontSize: fontSize }"></div>
    ⚫ 数组语法
    <div v-bind:style="[baseStyles, overridingStyles]"></div>
  
测试样式

3.7 分支循环结构

  1. 分支结构
    ⚫ v-if
    ⚫ v-else
    ⚫ v-else-if
    ⚫ v-show
  2. v-if与v-show的区别
    ⚫ v-if控制元素是否渲染到页面
    ⚫ v-show控制元素是否显示(已经渲染到了页面)
  3. 循环结构
    ⚫ v-for遍历数组
    <li v-for='item in list'>{
    {item}}</li>
    <li v-for='(item,index) in list'>{
    {item}} + '---' +{
    {index}}</li>
    ⚫ key的作用:帮助Vue区分不同的元素,从而提高性能
    <li :key='item.id' v-for='(item,index) in list'>{
    {item}} + '---' {
    {index}}</li>
水果列表
  • { { item}}
  • { { item + '---' + index}}
  • { { item.ename}} ----- { { item.cname}}
  1. 循环结构
    ⚫ v-for遍历对象
    ⚫ v-if和v-for结合使用
    <div v-for='(value, key, index) in object'></div>
    <div v-if='value==12' v-for='(value, key, index) in object'></div>
{ { v + '---' + k + '---' + i}}

转载地址:http://baah.baihongyu.com/

你可能感兴趣的文章
Nginx配置负载均衡到后台网关集群
查看>>
Nginx配置限流,技能拉满!
查看>>
Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias
查看>>
Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
查看>>
Nginx:NginxConfig可视化配置工具安装
查看>>
ngModelController
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
ngrok内网穿透可以实现资源共享吗?快解析更加简洁
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>