Vue.js 五天 汤小洋
一、 Vue.js简介
1. Vue.js是什么
Vue.js也称为Vue,读音/vju:/,类似view,错误读音v-u-e 版本:v1.0 v2.0

是一个构建用户界面的框架
是一个轻量级MVVM(Model-View-ViewModel)框架,和angular、react类似,其实就是所谓的数据双向绑定
数据驱动+组件化的前端开发(核心思想)
通过简单的API实现响应式的数据绑定和组合的视图组件
更容易上手、小巧

参考:官网

2.vue和angular的区别
2.1 angular
上手较难
指令以ng-xxx开头
所有属性和方法都存储在$scope中
由google维护

2.2 vue
简单、易学、更轻量
指令以v-xxx开头
HTML代码+JSON数据,再创建一个vue实例
由个人维护:尤雨溪,华人,目前就职于阿里巴巴,2014.2开源了vue.js库

共同点:都不兼容低版本IE 对比:GitHub上vue的stars数量大约是angular的两倍

二、起步
1. 下载核心库vue.js
bower info vue
npm init --yes
cnpm install vue --save
版本 v2.3.4 目前最新版本(2017.6.29)

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

2. Hello World(对比angular)
2.1 angular实现
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.2 vue实现
js:
    new Vue({
        el:'#itany', //指定关联的选择器
        data:{ //存储数据
            msg:'Hello World',
            name:'tom'
        }
    });
html:
    <div id="itany">
        {{msg}}
    </div>

3. 安装vue-devtools插件,便于在chrome中调试vue
直接将vue-devtools解压缩,然后将文件夹中的chrome拖放到扩展程序中

//配置是否允许vue-devtools检查代码,方便调试,生产环境中需要设置为false
    Vue.config.devtools=false;
    Vue.config.productionTip=false; //阻止vue启动时生成生产消息

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

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

v-for 对数组或对象进行循环操作,使用的是v-for,不是v-repeat 注:在vue1.0中提供了隐式变量,如$index、$key 在vue2.0中去除了隐式变量,已被废除

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

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

四、 练习:用户管理
使用BootStrap+Vue.js

五、 事件和属性
1. 事件
1.1 事件简写
v-on:click=""    
简写方式 @click=""

1.2 事件对象$event
包含事件相关信息,如事件源、事件类型、偏移量
target、type、offsetx

1.3 事件冒泡
阻止事件冒泡:
    a)原生js方式,依赖于事件对象
    b)vue方式,不依赖于事件对象
        @click.stop

1.4 事件默认行为
阻止默认行为:
    a)原生js方式,依赖于事件对象

1.5 键盘事件
回车:@keydown.13 或@keydown.enter
上:@keydown.38 或@keydown.up

默认没有@keydown.a/b/c...事件,可以自定义键盘事件,也称为自定义键码或自定义键位别名

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

2. 属性
2.1 属性绑定和属性的简写
v-bind 用于属性绑定, v-bind:属性=""

属性的简写:
    v-bind:src="" 简写为 :src=""

2.2 class和style属性
绑定class和style属性时语法比较复杂:

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

2. 数据绑定的方式
a.双向绑定
    v-model
b.单向绑定    
    方式1:使用两对大括号{{}},可能会出现闪烁的问题,可以使用v-cloak解决
    方式2:使用v-text、v-html

3. 其他指令
v-once 数据只绑定一次
v-pre 不编译,直接原样显示

七、 过滤器
1. 简介
用来过滤模型数据,在显示之前进行数据处理和筛选
语法:{{ data | filter1(参数) | filter2(参数)}}

2. 关于内置过滤器
vue1.0中内置许多过滤器,如:
    currency、uppercase、lowercase
    limitBy
    orderBy
    filterBy
vue2.0中已经删除了所有内置过滤器,全部被废除
如何解决:
    a.使用第三方工具库,如lodash、date-fns日期格式化、accounting.js货币格式化等
    b.使用自定义过滤器

3. 自定义过滤器
分类:全局过滤器、局部过滤器

3.l 自定义全局过滤器
使用全局方法Vue.filter(过滤器ID,过滤器函数)

3.l 自定义局部过滤器

vue学习(一)、Vue.js简介的更多相关文章

  1. vue学习之vue基本功能初探

    vue学习之vue基本功能初探: 采用简洁的模板语法将声明式的将数据渲染进 DOM: <div id="app"> {{ message }} </div> ...

  2. Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)

    五  Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...

  3. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  4. Vue学习笔记-Vue.js-2.X 学习(三)===>组件化高级

    (四) 组件化高级 1.插槽(slot)的基本使用 A:基本使用: <slot></slot> B:默认置:<slot><h1>中间可以放默认值< ...

  5. Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发

    ===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...

  6. Vue学习笔记-Vue.js-2.X 学习(一)===>基本知识学习

    一  使用环境: windows 7 64位操作系统 二  IDE:VSCode/PyCharm 三  Vue.js官网: https://cn.vuejs.org/ 四  下载安装引用 方式1:直接 ...

  7. vue学习目录 vue初识 this指向问题 vue组件传值 过滤器 钩子函数 路由 全家桶 脚手架 vuecli element-ui axios bus

    vue学习目录 vue学习目录 Vue学习一之vue初识 Vue学习二之vue结合项目简单使用.this指向问题 Vue学习三之vue组件 Vue学习四之过滤器.钩子函数.路由.全家桶等 Vue学习之 ...

  8. Vue学习笔记-Vue.js-2.X 学习(五)===>脚手架Vue-CLI(PyCharm)

    Vue项目在pycharm中配置 退出运行: ctrl+c Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明)

  9. Vue学习之--------Vue中收集表单数据(使用v-model 实现双向数据绑定、代码实现)(2022/7/18)

    文章目录 1.Vue中实现表单数据的收集 1.1 基础知识 1.2 代码实例 1.3 测试效果 1.4 额外插一嘴 1.Vue中实现表单数据的收集 1.1 基础知识 表单中常用的标签:input(输入 ...

  10. 【vue学习】vue 2.0版本以上创建项目的的步骤

    一.环境准备 1.vue项目依赖 node.js npm,需要先安装node和npm,先检查本地是否安装node.npm 快捷键win+r   输入cmd  弹出操作框,如果电脑已经安装git,直接右 ...

随机推荐

  1. 在windows上添加cygwin右键

    来了一台新机器,装环境的时候,突然想直接在右键使用cygwin. 查了一些教程,基本大同小异,也算是有用,先贴一个链接: https://blog.csdn.net/yang_hong_/articl ...

  2. [Xamarin] 透過StartActivityForResult傳值回來(转贴)

    上一篇文章(開啟另外一個Activity 並且帶資料),提到了開啟一個新的Activity ,我們將值透過intent 帶到下個Activity 但是,如果我們開啟的Actrivity其實是有一個任務 ...

  3. springmvc执行原理及自定义mvc框架

    springmvc是spring的一部分,也是一个优秀的mvc框架,其执行原理如下: (1)浏览器提交请求经web容器(比如tomcat)转发到中央调度器dispatcherServlet. (2)中 ...

  4. JDBC处理Transaction

    package com.ayang.jdbc; import java.sql.*; /** * transaction的构成,随便写一句insenrt,一执行executeUpdate(),它自动提 ...

  5. Springsecurity搭建自定义登录页面

    1.springSecurity的搭建 新建一个springboot的web项目,我这边只选中了web,建立后如下: pom依赖: <!-- https://mvnrepository.com/ ...

  6. mix使用本地依赖

    在看elixir程序设计,书中讲到依赖设置,但是都是要联网,自己希望可以下载到本地电脑硬盘,然后项目要使用就用本地的,不要每次都要下载,因为天朝下载真的不稳 官方看到文档 {:deps_name,pa ...

  7. Spring中线程池的应用

    多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了.spring封装了Java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说 ...

  8. jsonp/ajax 自己的一些总结

    data.json代码:[{"name": "张三", "age": 18}, {"name": "李四&qu ...

  9. shell脚本生成服务器密码

    #!/bin/bash len=90 str=(a b c d e f g h i j k l m n o p q r s t u vw x y z A B C D E F G H I J K L M ...

  10. PL/SQL之存储过程和触发器实例

    1.Oracle存储过程实例 /*不带任何参数存储过程(输出系统日期)*/ CREATE OR REPLACE PROCEDURE output_date IS BEGIN DBMS_OUTPUT.P ...