Angular+Vue+React
    Vue性能最好,Vue最轻
=======================================================
Angular
    入门难,学习成本高
Vue
    简单
=======================================================
Vue
    官网:http://vuejs.org/
    中文:http://cn.vuejs.org/

Vue.js的发展
        1.x
        2.x             √
=================================================
Vue如何玩?
    new Vue({
        el:'元素选择器',
        data:{
            数据
        },
        methods:{
            方法
            方法中:this就是当前new出来的实例
        }
    });

事件
<button v-on:click="方法()">按钮</button>
<button @click="方法()">按钮</button>

指令:
    v-model                 指定数据
    v-for                      循环
        v-for="value in arr"
        v-for="(value,index) in arr"

v-for="(value,key,index) in json"
    v-show                      显示

====================================================
简易留言板

计算属性

{{reverseMessage}}

new Vue({
        el:'#app',
        data:{
            message:'hello'
        },
        computed:{
            reverseMessage(){
                return this.message.split('').reverse().join('');
            }
        }
    });

======================================================
class操作
    :class="{active:true/false}"

style操作
    :style="{width:width+'px'}"

图片    
    :src=""
==================================================
交互
    Vue本身不支持交互
    可以跟任何交互的库配合
        jquery
        axios         交互库
            不支持jsonp,只支持ajax

=======================================    
钩子函数     生命周期
    beforeCreate         创建实例之前
    created             创建实例完成
    beforeMount         挂载之间
    mounted             挂载完成
    beforeUpdate         更新之前
    updated             更新完毕
    beforeDestroy         销毁之前
    destroyed             销毁完毕

如何销毁:
        v.$destroy()

防止闪屏
    [v-clock]{
        display: none;
    }
    <div id="div1" v-clock></div>
================================================
事件
    事件对象
        $event
    @click
    @contextmenu
    @keydown

事件冒泡
        ev.cancelBubble = true;

@click.stop = "show()"

默认事件
        ev.preventDefualt();

@click.prevent = "show()"

事件冒泡和默认事件同时解决
        @click.stop.prevent = "show()"

键盘事件
        @keydown.ctrl/enter

自定义按键
        Vue.config.keyCodes.a = 65;
        @keydown.a = "show()"

=============================================
模板
    {{}}
    v-text
    v-html

-================================================

Vue组件
组件         Component
---------------------------------------------
    定义组件
        公共的组件
        Vue.component('组件的名字',{
            template:'模板',
            data(){
                return {
                    数据
                };
            }
        });
        私有的组件
        new Vue({
            components:{
                '组件的名字':{
                    template:'模板',
                }
            }
        });
    使用组件
        <组件的名字></组件的名字>

template一定要有一个根元素
组件写在template中可读性差
    <template id=""></template>

<script type="x-template" id=""></script>

==============================================
组件之间数据通信
    父级给子级数据
    <test :aaa="xxx"></test>
    Vue.component('test',{
        template:'',
        props:['aaa']
        或者
        props:{
            aaa:String
        }
    });

子级给父级数据
=============================================
Vuex
    http://vuex.vuejs.org/
============================================
Vue             filter         过滤器
============================================
路由        ***
    http://router.vuejs.org/

============================================
vue-cli         脚手架
    # 全局安装 vue-cli
    $ npm install --global vue-cli
    # 创建一个基于 webpack 模板的新项目
    $ vue init webpack my-project
    # 安装依赖,走你
    $ cd my-project
    $ npm install
    $ npm run dev

vue init webpack 项目名
    vue init webpack-simple 项目名         √
=========================================
引入静态样式资源需要:
    style-loader         
    css-loader
    下载:
    npm install style-loader css-loader --save-dev

配置:
        webpack.config.js
        {
            test: /\.css$/,
            loader: ['style-loader','css-loader']
        }
==================================================
axios                 2.x推荐
vue-resource         1.x推荐
    引入本地图片
        require(url);

前端学习(三十八)vue(笔记)的更多相关文章

  1. 前端学习(三十六)promise(笔记)

    一个页面:  头部.用户信息.新闻列表 jquery ajax:  1.$.ajax({    url:'',    dataType:'json', }).then(res=>{    //r ...

  2. 前端学习(三十九)移动端app(笔记)

    移动端App    开发App的三种方式    Native App         原生        底层语言        java         Android        oc      ...

  3. 前端学习(三十五)模块化es6(笔记)

    RequireJs:一.安装.下载    官网: requirejs.org    Npm:  npm i requirejs二.使用    以前的开发方式的问题:        1).js 是阻塞加 ...

  4. 前端学习(三十四)对象&模块化(笔记)

    人,工人 //类的定义    function Person(name,age){ //构造函数        //工厂模式        //1.原料        //var obj = new ...

  5. 前端学习(三十)es6的一些问题(笔记)

    赋值表达式    document.onclick = document.onmouseover = fn;    var a = b = c = d = 5;             不推荐 逗号表 ...

  6. 前端学习(二十八)es6&ajax(笔记)

    ES6    let    块级作用域    const    解构赋值    字符串拼接    扩展运算符    ------------------------------------------ ...

  7. Salesforce LWC学习(三十八) lwc下如何更新超过1万的数据

    背景: 今天项目组小伙伴问了一个问题,如果更新数据超过1万条的情况下,有什么好的方式来实现呢?我们都知道一个transaction只能做10000条DML数据操作,那客户的操作的数据就是超过10000 ...

  8. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  9. bp(net core)+easyui+efcore实现仓储管理系统——入库管理之二(三十八)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

随机推荐

  1. Access分页语句

    一.双TOP法高效率的Access分页的SQL语句,语法格式: SELECT * FROM (SELECT TOP "&pagesize&" * FROM (SEL ...

  2. Java Web学习笔记之---JSP

    Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...

  3. MySQL JOIN 多表连接

    除了常用的两个表连接之外,SQL(MySQL) JOIN 语法还支持多表连接.多表连接基本语法如下: 1 ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON ...

  4. 文件的上传与下载实现(react、express,create-react-app脚手架)

    项目结构为前后端分离,中间布了一层node. 文件上传 要求:将文件信息等发送到后台. html代码 <input type="file" name="file&q ...

  5. 【数据库】一篇文章搞掂:Oracle数据库

    PL/SQL的使用 1.安装使用 1.1.安装暂略 1.2.使用 添加环境变量 打开PL/SQL,不要登录,进入界面后,打开设置Preference 设置主目录和OCI库

  6. (转)用Flink取代Spark Streaming!知乎实时数仓架构演进

    转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...

  7. MySQL innodb的组合索引各个列中的长度不能超过767,

    MySQL索引的索引长度问题   MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制. 在MyISAM表中,创建组合索引时,创建的索引长度不能超过1000,注意这里索 ...

  8. HDU6668 Polynomial(模拟)

    HDU6668 Polynomial 顺序遍历找出最高次幂项的系数 分三种情况 \(1/0\).\(0/1\).\(f(x)/g(x)\) . 复杂度为 \(O(n)\) . #include< ...

  9. Linux 中设置进程通过 systemctl 启动

    对于某些脚本或需要启动命令的程序,可以通过创建 xx.service 服务文件来使用 systemctl 控制. 例如,对于 docker-compose,其后台启动且忽略输出信息的命令为: $ no ...

  10. android button click事件

    package a.a; import android.app.Activity;import android.os.Bundle;import android.view.View;import an ...