Vue:基本用法。

一、起步

1.下载核心库vue.js
bower info vue #查看版本号
npm init --yes #下载vue.js
cnpm install vue --save
版本 v2.5.17 目前最新版本()

vue2.0比1.0相比最大的变化就是引入Virtual DOM(虚拟DOM),页面更新效率高,速度更快

2.hello world(对比 angular)
2.1angular实现
js:
    let app=angular.module("myApp",[])
    app.controller("MyController",["$scope",function($scope){
        $scope.msg=" hello world ";
    }])

html:
    <html ng-app="myApp">
        <div ng-controller="myController>
            {{msg}}
        </div>
    </html>
2.2Vue实现

js:
    new Vue({
        el:"#itany",//指定光联的选择器
        data{//存储数据
            msg:"hello world",
            name:"小零"
        }
    })

html:
    <div id="itany">{{msg}}</div>
    3.安装vue-devtools插件,便于在Chrome中调试vue直接将vue-devtools解压缩,

三、常用指令

1.什么是指令?
用来扩展HTML标签的功能
angular中常用指令:
ng-model
ng-repeat
ng-show/hide
ng-if

2.vue中常用的指令
1、v-model
双向数据绑定,一帮用于表单元素

2、v-for (val,key)
对数组或对象进行循环操作,使用v-for,不是v-repeat
注:在vue 1.0中提供了隐式变量,如$index.$key
在vue 2.0中去除了隐式变量,已被废除。

3、v-on
用来绑定事件,用法v-on:事件名="函数"

4、v-show/v-if
用来显示或隐藏元素,v-show是通过display来实现,v-if是每次删除后重新创建,与angular中的类似

四、练习:用户管理

五、事件
1、事件

1.1、事件简写
v-on:click=""
简写方式 @click=""

1.2 事件对象$event(e.target.innerHtml)

1.3 事件冒泡

原生的方法:e.stopPropagation()
vue方法:@click.stop


1.4 事件默认行为

阻止事件的默认行为:

原生的方法:e.preventDefault()
vue方法:@click.prevent

1.5 键盘事件

@keydown @keypress @keyup

(e.keyCode:按键序号)

简写:

回车: @keydown.13 或 @keydown.enter
上: @keydown.38 或者 @keydown.up

默认没有 @keydown.a/ @keydown.b

1.6 事件的修饰符
.stop - 调用 event.stopPropagation().
.prevent -调用 event.preventDefault().
.{keyCode | keyAlias} -只当事件是从特定键触发时才触发回调
.native - 监听组件根元素的原生事件
.once - 支触发一次回调事件

2、属性:

2.1 属性绑定和属性的简写

v-bind 用于属性绑定:v-bind:属性名=""

简写方式::属性名=""

2.2class和style属性

绑定class属性和style属性时比较复杂

:class (:class={aa:true,cc:flag})
aa与cc为样式名,
true:则运用此样式名的样式,
flag:变量,为动态设置是否需要此样式名,flag在data中的值为true/false

:style()

六、模板

1、简介
Vue.js 基于HTML的模板语法,可以将DOM绑定到Vue实例中的数据,
模板也就是{{}},用来进行数据绑定,显示在页面中
也称之为Mustache语法

2、数据绑定的方式
a.双向数据绑定
v-model
b.单向数据绑定
方式1:
使用两大括号{{}},肯能会出现闪烁的情况

处理:
用v-cloak 与css ([v-cloak]:display:none;)并用

方法2:
使用v-text/v-html 不会出现闪烁问题

v-html:可识别字符串中的标签

3、其他指令

v-once 只绑定一次
v-pre 不编译,直接显示原样

七、过滤器

1、简介

用来过滤模型数据,在显示之前对数据处理和筛选

语法:{{data | filter1(参数) | filter2(参数)}}

2、关于内置过滤器
vue 1.0 中内置许多过滤器,如:

currency,uppercase,lowercase、limitBy、orderBy、filterBy

vue 2.0中已经删除了所有内置过滤器,全部被废除

如何解决:

a.使用第三方工具 loadash、date-fns日期格式化、accounting.js货币格式化等
b.自定义过滤器

3.自定义全局过滤器

使用全局方法 Vue.filter

猜你喜欢

转载自www.cnblogs.com/yuezhen/p/10407675.html