美文网首页
VUE 爬坑笔记 (1)

VUE 爬坑笔记 (1)

作者: 阿尔方斯 | 来源:发表于2018-08-09 18:05 被阅读0次

MVVM (Model-View-Viewmodel)

MVVM是什么?

  • M 数据模型,主要来自后台数据
  • V 视图层,前端页面
  • VM 连接数据模型与视图层
  • MVVM 是一种软件架构模式,类似于转换器,把数据暴露给视图层

VM是什么?

  • VMview(视图)层与model(数据模型)层建立连接,可以使用VUE对象实时监听数据变化,类似于一个中介,把数据传输给视图

插值表达式

  • 用法:{{三元运算符}},{{赋值表达式}},{{可以使用数组或字符串的方法}}
  • 作用:根据需求改变数据

v-text 指令

  • 写在标签属性里面,作用与插值表达式一样,将一短文本插入到DOM元素中
    <p v-text="attrName"><p>
    

v-html 指令

  • 能够解析HTML标签
  • 插值表达式、v-text指令、v-html指令区别

三种方式的区别

1.差值表达式用于需要对数据做处理时使用
2.v-text原样输出数据
3.v-html用于解析标签输出

v-bind 使用

  • 用于给标签绑定属性值,写法:
    <img v-bind:src="param" />
    //简写方式 去掉v-bind 前面加上 :
    <img :src="param" />
    
  • 绑定类似于a标签src时传参使用字符串拼接
  • v-bind 绑定类名
    // :class="{'类名':布尔值(可以写表达式)}"
    <p :class="{'red':true}"><p>
    

v-for

  • 使用v-for 循环渲染 Array | Object | Number | String
    写法1:<li v-for="item in array | obj"></li>
    写法2:<li v-for="(item, index) in array | obj"></li>
    写法3:<li v-for="(value,key,index) in Object"></li>
    //写法3用于循环遍历对象 值、键、索引
    
  • v-for 能够根据data数据变化自动刷新视图
    • 有两种情况不会触发视图更新
      1.使用Array.length改变数组长度时不会触发
      2.使用数组下标改变数组值时不会触发
    • 解决方式:
      • Vue.set(需要改变的数组,数组里的每一item,新的值)
      • Array.splice()
  • :key的使用
    • 当使用v-for更新数据是,默认使用就地复用策略。如果改变了数组或对象中某个数据,默认会重新渲染所有数据
    • 为每个节点提供唯一标示,在删除或改变数据时只会重新渲染唯一标示对应的值
    <li v-for="(item,index) in arr" :key="index" ></li>
    

v-model 双向数据绑定

  • 作用:view层和model层双向数据绑定,数据同步,互相影响,一个改变了另一个也会变
  • 只可以使用在<select><input><textarea>标签里使用

v-on 绑定事件

  • 在标签的属性位置使用 v-on:事件类型="执行函数"来绑定事件
  • 简写:@事件类型="执行函数"
  • 可以传递参数
  • 通过执行函数中添加$event参数传递事件对象,只能是$event
  • 事件修饰符可以给事件添加特殊功能 @click.stop .prevent ···
  • 可以给按键相关的事件添加修饰符 .enter

v-if 和 v-show

  • v-ifv-show可以用来控制元素的显示与隐藏。v-if="Boolean"v-show="Boolean" true显示,false隐藏
  • 两者区别
    • v-if通过控制控制DOM来控制
    • v-show通过控制display:none控制元素显示与隐藏
  • 使用场景
    • 在大量操作DOM是使用v-show操作样式会比v-if删除DOM效率高
    • 在使用AJAX回调函数渲染数据时使用v-if
  • 在使用 v-else-if前一个兄弟元素必须要有v-ifv-eles-if

相关文章

  • VUE 爬坑笔记 (1)

    MVVM (Model-View-Viewmodel) MVVM是什么? M 数据模型,主要来自后台数据 V 视图...

  • vue爬坑(1)

    click事件值传递方式: 想来想去,原来是可以直接传递的?

  • VUE 爬坑笔记 (4)

    兄弟组件之间传值 创建一个空的vue实例,作为事件总线 在数据源位置使用这个vue实例的$emit方法自定义一个事...

  • VUE 爬坑笔记 (2)

    ref 属性 ref属性标示对dom的引用,值是唯一值,定义在dom标签内 获取时使用this.$refs.属性值...

  • VUE 爬坑笔记 (3)

    VUE组件 模块化 和 组件化 区别 模块化:从代码角度分析问题,把可复用的代码抽离为单独的模块 好处:方便程序员...

  • vue 爬坑小记(1)

    使用 vue 开发的过程中,在将 vue 实例 data 中的一个对象添加到数组中时产生了一个小问题。起初我的代码...

  • Vue爬坑

    在这里记录一些vue开发过程中的小tips。 使用ESlint自动修复代码格式:如果使用了 ESlint ,在 p...

  • iOS逆向1021-砸壳&&Theos

    Theos爬坑笔记 关于Theos的坑!!!!1.不要在中文目录下编译工程.否则报错!2.packageName(...

  • Vuex + axios

    Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求 Vue 原本有一个官方推荐的 ajax 插件...

  • Vue项目中使用Echarts创建图表

    参考:Echarts官网、Vue项目中使用Echarts展示图表数据、Vue 爬坑之路(八)—— 使用 Echar...

网友评论

      本文标题:VUE 爬坑笔记 (1)

      本文链接:https://www.haomeiwen.com/subject/odrcbftx.html