浅谈VUE

作者: WANG_M | 来源:发表于2018-01-24 17:43 被阅读0次

1.学习vue的目标
通过尽可能简单的API实现响应的数据绑定和数组的视图组件
2.核心
一个响应的数据绑定系统,它让数据与DOM保持同步
3.理解MVC架构和MVVM开发方式
实现基于MVVM实现交互式的Web界面
掌握用vue.js实现网站开发
4.组件系统:一种抽象,提供小组件来构建大型应用,然后形成一个组件树。
5.属性和方法
每个vue实例都会代理data对象里的所有属性
被代理的属性是响应的。
6.vue.js数据绑定
插入值:文本

<span>Message:{{ msg }}</span> 

原始的HTML

<div>{{{ raw_html }}}</div>

HTML特性

<div id="item-{{ id }}"></div>

绑定表达式:Javascript表达式 每个绑定只能包含单个表达式
过滤器(Filter):

 {{ message|capitalize }}  过滤器只能在后面   
 过滤器可以串联{{ message|filterA|filterB }}
过滤器也可以接受参数

指令:特殊的带有前缀v-的特性
参数:有些指令可以在后面带一个参数,用冒号隔开

<a v-bind:href = "url"></a>

修饰符:以半角句号开始的特殊后缀,用于表示指令应当以特殊方式绑定

<a v-bind:href.literal = "a/b/c"></a>

缩写:最常用的v-bind和v-on提供缩写

<a v-bind:href = "url"></a>           <a :href = "url"></a>
<a v-on:click = "dosomething"></a>    <a @click = "dosomething"></a>

在input中使用v-model来实现数据双向绑定

<div id="app">
    <p>{{ message }}</p>
    <input v-model="message">
</div>
<script>
new Vue({
  el: '#app',
  data: {
    message: 'ABCDEFG!'
  }
})
</script>

7.vue的计算属性:computed

基础例子:计算属性的getter
$watch用于观察vue实例上的数据变动,相比较于计算属性,后者更好用一些
计算属性默认的只有getter,需要时可以创建setter

8.vue.js与样式绑定

绑定HTML Class class{{className}}和v-bind:class两者不可混用,推荐使用后者

 //v-bind:class动态地切换class
<div v-bind:class="{'class1':class1 }">
    Hello World
</div>

绑定内联样式:对象语法

vbind指令被用来响应地更新HTML属性

<div v-bind:style = "{fontSize + 'px'}"></div>

数组语法
<div v-bind:style = "[ styleObjectA,styleObjectB ]"></div>
可以将多个样式 对象应用到一个元素上

自动添加前缀

9.vue条件渲染

v-if

   <h1 v-if = "ok">YES</h1> 

template v-if

 <template v-if = "ok">
      <h1>Hello</h1>
      <p>kkkkk</p>
 </template>                //切换多个元素,可以把<template>当作包装

元素,并在上面使用v-if,渲染结果不包含它

v-show:简单的切换元素的css display属性,始终渲染并保存在啊DOM 中,不支持<template>

<h1 v-show = "ok">YES</h1> 

v-else:必须跟在v-if或v-show后面,否则不能识别
v-if vs. v-show
v-if:真实的条件渲染,有更高的切换效率
v-show:简单的基于css切换,有更高的初始切换消耗
需要频繁切换用v-show,不太改变用v-if。
10.列表渲染
v-for:使用v-for指令基于一个数组渲染一个列表
template v-for:v-for用在<template>标签上,用来渲染一个包含多个元素的块
数组变动检测:变异方法:

push()/pop() shift()/unshift() splice() sort()reverse()

替换数组:不会修改原始数组而是返回一个新数组的非变异方法,直接用新数组替换旧数组filter()/concat()/slice()
track-by:用全新对象替换数组
track-by $index
问题:扩展观察数组,为它添加了$set()方法$remove()
需要一个空数组替换items
对象v-for:使用v-for遍历对象,除了$index之外,作用域内还可以访问另外一个特殊变量$key
值域v-for:v-for也可以接收一个整数,此时它将重复模板数次

  <div> 
    <span v-for = "n in 10">{{ n }} </span> 
  </div>

显示过滤/排序的结果:创建一个计算属性,返回过滤/排序过的数组
使用内置的过滤器filterBy和orderBy
计算属性有更好的控制力,也更灵活,因为它是全功能JavaScript。但是通常过滤器更方便。

相关文章

  • 聊聊对vue的一些理解

    vue理解浅谈 一 理解vue的核心理念 使用vue会让人感到身心愉悦,它同时具备angular和react的优点...

  • 浅谈MVC,MVP,MVVM渐进变化及React与Vue比较

    [转] 浅谈MVC,MVP,MVVM渐进变化及React与Vue比较[https://segmentfault.c...

  • 浅谈Vue下的components模板

    浅谈Vue下的components模板 晴 微风 温度 12-24°C在我们越来越深入Vue时,我们会发现我们对H...

  • 浅谈Vue

    天气晴,心情忘记了,今天开始我将和大家一起进入vue2.0,一起装逼一起帅。 和以往的js, jq...

  • 浅谈VUE

    1.学习vue的目标通过尽可能简单的API实现响应的数据绑定和数组的视图组件2.核心一个响应的数据绑定系统,它让数...

  • 浅谈Vue(基础)

    1.关于slot插口: 注意:位置、槽口 , 不要用单标签。作用:占个位置 ,如果没有slot会直接把模版里面的...

  • 浅谈vue mixin

    mixin:混入.vue中是指定义一个对象,该对象选择性拥有deta,methods,mounted等vue组件的...

  • 浅谈VUE--vue入门

    注:读本文前已经默认您已经掌握JavaScript、css、html 等相关知识。 1. 什么是VUE.js? V...

  • vuejs

    浅谈vue的运行原理----数据渲染 目前几种主流的mvc(vm)框架,都实现了单向的数据绑定,而我所理解的双向数...

  • 2020-07-02

    浅谈 浅谈模块设计宏内核 浅谈接口设计Flags 浅谈稳定性设计重试 浅谈人员业务结构设计矩阵式 浅谈接口设计 |...

网友评论

      本文标题:浅谈VUE

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