浅谈VUE

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。但是通常过滤器更方便。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值