Vue基础

			Day Day up — NO.1	
  1. 声明式渲染 ——> 组件系统——> 客户端路由——>集中式状态管理——> 项目构建

2 Vue基本使用
使用步骤:
a. 需要提供标签用于填充数据
b. 引入Vue.js库文件
c. 可以使用vue的语法做功能了
d. 把vue提供的数据填充到标签里面
代码体验 :
a. <div id = “app”
引入插值 <div {{msg}} </div
</div
b. <script type = “text/javascript” src = “js/vue.js”<script
<script type = “text/javascript”
var vm = new Vue ({
el : ‘#app’,
data: {
msg : ‘Hello Vue’
}
});
</script

1 . 实例化参数分析
_ el 元素的挂载位置 (值可以是css选择器或者是Dom元素)
_ data 模型数据 (值是一个对象)

  1. 插值表达式
    _ 将数据填充到HTML标签中
    _ 插值表达式支持基本的计算操作
    _ Vue 代码运行及原理分析
    _ 概述编译过程概念(vue语法——> 原生语法)

<> Vue模板语法
3.1 概述
1.如何理解前端渲染?
答:把数据填充到HTML标签中
模板
都可以前端渲染 —然后搞到—> 静态HTML
数据

  1. 前端渲染方式
    原生js拼接字符串
    使用前端模板引擎
    使用vue特有的模板语
    _

  2. 原生js拼接字符串
    基本上就是将数据字符串的方式拼接到HTML标签中,前端代码风格大体如下所示:
    var date = d[i].date;
    var day = d[i].info.day;
    var night = d[i].info.night;
    _

  3. 使用前端模板引擎
    script id = “abc” type=“text/html”
    {{if isAdmin}}
    h1{{title}}</h1
    <ul
    {{each list as value i }}
    <li 索引 {i + 1}: {{value}} </li
    _
    5.模板语法概述
    _ 插值表达式
    _ 指令
    . 事件绑定
    . 属性绑定
    . 样式绑定
    . 分支循环结构

  1. 什么是指令?
    . 什么是自定义属性
    . 指令本质就是自定义属性
    . 指令的格式 : 以v-clock开始(v-开始)
  2. v-cloak指令用法
    / 插值表达式存在问题 :“闪动”
    / j解决问题 : 使用v-cloak指令
    问题原理 : 先隐藏 , 替换好值之后再显示最终的值
    官网 : https://cn.vue.js.org/va/api/
    _
  3. 提供样式
    [ v- cloak ]{
    display : none;
    }
    1. 在插值表达式所在的标签中添加v- clock 指令
      原理: 先通过样式隐藏内容 , 然后在内存中进行值的替换,再显示最终的结果

    3,2 指令
    3.数据绑定指令
    • v - text 填充纯文本
    • .相比插值表达式更加简洁
    • v-html
    • .存在安全问题
    • .本网站内部数据可以使用, 来自第三方数据不可以用
    • v-pre 填充原始信息
    • 跳过编译过程(分析编译过程)
  1. 数据响应式
    .如何理解响应式
    a. html5中的响应式(屏幕尺寸的变化导致样式变化)
    b. 数据的响应式(数据的变化导致页面页面页面内容的变化)
    什么是数据绑定
    a. 数据绑定将数据填充到标签中
    • v-once 只编译一次
    • a. 显示内容之后不再具有响应式功能

3.3 双向数据绑定

  1. 什么是双向数据绑定?
    malow
    malow -----> 这里的变化会导致上面的内容跟着变化
  2. 双向数据绑定分析
    v-model指令用法
  3. MVVM 设计思想.
    1. M (model) 模型
    2. V (view) 视图
    3. VM(View - Model) 视图模型
      注意两个点 :
      a. 事件监听
      b. 模型绑定

3,4 事件绑定
`1. Vue 如何处理事件

  • v-on 指令用法
  • <input type = 'button v-on : click ='num++/>
  • v-on 简写方式
  • <input type = "button type = “button” @ click=‘num++’/>

2.事件函数调用方式
_ 直接绑定函数名称
<button v-on:click=‘say’ HELLO </button
-调用函数
say hi </button on

  1. 事件函数参数传递
  • 普通参数和事件对象
  • 固定button v-on : click=‘say(“hi”,$event)’> Say hi</button on
    事件绑定 . 参数传递
    代码体验:
    var vm = new Vue({
    el : ‘#app’,
    data: {
    num:0
    },
    methods:{
    handle2:function(p,p1,event){
    console.log(p,p1)
    console.log(event.target.innerHTML)
    this.num++;
    },
    handle1 : function(event){
    console.log(event,target,innerHTML)
    }
    }
    1, 如果事件直接绑定函数名称,那么默认会传递事件对象作为事件 ,函数的第一个参数
  1. 如果事件绑定函数调用, 那么事件对象必须作为最后一个参数显示传递, 并且事件对象的名称必须是$event
    _
    3,4事件绑定
  2. 事件修饰符
  • stopv 阻止冒泡

  • <a v- on : click.stop='handle‘’>跳转</a

  • prevent 阻止默认行为

  • <a v - on : click.prevent = 'hamdle"> 跳转</a

  • / 代码玩下

  • 事件绑定 : 事件修饰符

  • var vm = new Vue({

  • el: ‘#app’,

  • data: {

  • num:0

  • }

  • methods: {

  • handle0 : function(){

  • this.nu m++;

  • ent){

  • // 阻止冒泡

  • // event. stopPropagation();

  • }

  • },

  • handle2 : function(evnet){

  • // 阻止默认

  • // event. preventDefault();

  • 使用修饰符时,顺序很重要, 相应的代码会以同样的顺序昌盛, 因此, 用

  • v - on : click.prevent.self 会阻止所有的点击 , 而prevent只会阻止对元素自身的点击

  • 按照文档练习, 可以连写

    1. 按键修饰符
  • 玩一下 :

  • var vm = new Vue({

  • el:’ #ap ',

  • data : {

  • uname ; ‘’,

  • pwd: ‘’

  • },

  • mehods:{

  • handleSubmit:function(){

  • console.log(this,uname,this. pwd)
    按键修饰符
    . enter 回车键
    <input v-on:keyup.enter = ‘submit’

  • delete 删除键

  • <inout v-on:keyup.delete =“handle”

  • 代码走一波

  • 事件绑定 - 按键修饰符

  • var vm = new Vue({

  • el : ‘#app’,

  • data : {

  • uname :’’,

  • },

  • methods : {

  • handleSubmit: function(){

  • console.log(this.uname,this.pwd)
    6 .自定义按键修饰符

  • 全局 config.keyCodes 对象

  • Vue . config.keyCodes,f1 = 112

  • 规则: 自定义按键修饰符名字是自定义的 , 但是对应的值必须是按键对应event

  • 代码验证

  • Vue. config,keyCodes.aaa = 65
    var vm = new Vue({
    el: "#app’,
    data: {
    info : ‘’
    },
    mehods : {
    handle: function(event) {
    console.log(event.keyCode)
    }
    }
    });

  1. 计算机案例
  2. var vm = new Vue( {
  • 	el : '#app',
    
  •   data: {
    
  •   a :  ‘’,
    
  •   b :  '',
    
  • result: ‘’
  • },
  • methods : {
  • handle : function () {
  • // 实现计算逻辑
  • this.result = this.a+this.b
  • }
  • }
  • }):

_
3,5 属性绑定
7. Vue 如何动态去处理属性

  • v-bind 指令用法
  • <a v-bind : href = ‘url’ 跳转</a
  • 缩写形式
  • <a href = ‘url’ 跳转 </a

2 . V-model 的底层实现原理分析
<input v-bind : value = “msg” v- on:input = “msg = Seven.target.value”
v-model指令的本质
双向数据的绑定
v-model 控制狂也会弹出
v-model v-bind可以绑定值
——
样式绑定

  1. class 样式处理
  • 对象语法
  • div v-bind : class = “{active:isActive}”</div
  • 数组语法
  1. style 样式处理
  2. 对象语法
- 数组语法 -div v-bind:style = "[base Style ; overridingStyles /div

3.7 分支循坏结构
10. 分支结构

  • v-if

  • v-else

  • v-else -if

  • v - show

  • v- if 与 v -show 的区别

  • v-show 的原理

  • 控制元素样式是否显示display:none

  • v - if 控制元素是否渲染到页面

  1. 循坏结构
    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

基础作用
搞下思路:
12. 实现静态UI效果

  • 周传统的方式实现标签的结构和样式
  1. 基于数据重构UI效果
    14.将静态的结构和样式重构为基础Vue模块
    语法的形式
  • 处理事件绑定和2 js 控制逻辑
  1. 声明式编程
    – 模板语法的结构最终现实的效果基本一致
    Vue模板
    Vue 实例对对象 ——》 前端功能
    js控制逻辑

版权声明:本文为weixin_45603651原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。