<!-- 动态Props -->

<!DOCTYPE html> <html lang='utf-8'> <head> <meta charset="UTF-8"> <title></title> <script src="vue.js"></script> <style> * { font-family: "microsoft yahei"; } </style> </head> <body> <div id="vm"> <input type="text" v-model="parentMsg" /> <br /> <!-- 组件里声明驼峰式,这里要用短线 --> <child v-bind:my-message="parentMsg"></child> </div> <script> Vue.component('child', { // 声明 props props: ['myMessage'], // 选项 template: '<span>{{ myMessage }}</span>' }); new Vue({ el: '#vm', data: { parentMsg: '父信息默认值' } }); </script> </body> </html>

v-on绑定自定义事件

<!DOCTYPE html>
<html lang='utf-8'>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="vue.js"></script>
        <style>
            * {
                font-family: "microsoft yahei";
            }
        </style>
    </head>
    <body>

    <!-- v-on绑定自定义事件 -->
    <div id="counter-event-example">
        <p>{{ total }}</p>
        <button-counter v-on:increment="incrementTotal"></button-counter>
        <button-counter v-on:increment="incrementTotal"></button-counter>
    </div>

    <script>
    Vue.component('button-counter', {
        template: '<button v-on:click="increment">{{ counter }}</button>',
        data: function () {
            return {
                counter: 0
            }
        },
        methods: {
            increment: function () {
                this.counter += 1;
                // 触发事件
                this.$emit('increment');
            }
        }
    });

    new Vue({
        el: '#counter-event-example',
        data: {
            total: 0
        },
        methods: {
            incrementTotal: function () {
                this.total += 1;
            }
        }
    });
    </script>

    </body>
</html>

多个组件的过渡

<!DOCTYPE html>
<html lang='utf-8'>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="vue.js"></script>
        <script src="velocity.min.js"></script>
        <style>
            * {
                font-family: "microsoft yahei";
            }
            .component-fade-enter-active, .component-fade-leave-active {
              transition: opacity .3s ease;
            }
            .component-fade-enter, .component-fade-leave-active {
              opacity: 0;
            }
        </style>
    </head>
    <body>

    <p>多个组件的过渡</p>
    <div id="example">
        <input type="radio" name="myradios" value="A" v-on:click="showCont('v-a')" id="A" checked="checked" />
        <label for="A">A</label>

        <input type="radio" name="myradios" value="B" v-on:click="showCont('v-b')" id="B" />
        <label for="B">B</label>

        <transition name="component-fade" mode="out-in">
            <!-- 绑定了view数据 -->
            <component v-bind:is="view"></component>
        </transition>
    </div>

    <script>
    new Vue({
      el: '#example',
      data: {
        view: 'v-a'
      },
      components: {
        'v-a': {
          template: '<div>Component A</div>'
        },
        'v-b': {
          template: '<div>Component B</div>'
        }
      },
      methods: {
          showCont: function (msg) {
              this.view = msg;
          }
      }
    });
    </script>

    </body>
</html>

Vue.js进阶的更多相关文章

  1. 免费的 Vue.js 入门与进阶视频教程

    这是我免费发布的高质量超清「Vue.js 入门与进阶视频教程」. 全网最好的.免费的 Vue.js 视频教程,课程基于 Vue.js 2.0,由浅入深,最后结合实际的项目进行了最棒的技术点讲解,此课程 ...

  2. Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶

    Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...

  3. Vue.js高效前端开发 • 【Ant Design of Vue框架进阶】

    全部章节 >>>> 文章目录 一.栅格组件 1.栅格组件介绍 2.栅格组件使用 3.实践练习 二.输入组件 1.输入框组件使用 2.选择器组件使用 3.单选框组件使用 4.实践 ...

  4. Vue.js 整理笔记

    以前我们用Jquery进行dom的操作,虽然熟悉后开发效率很高,但是如果多个控件的相互操作多的情况下,还是会乱.相比之下,Vue的使用更加清晰,通过虚拟dom将数据绑定,而且组件化和路由的帮助下,让整 ...

  5. vue.js+boostrap最佳实践

    一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostrap优雅的样式和丰富的组件使得页面开发变 ...

  6. vue.js+boostrap

    vue.js+boostrap最佳实践 一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostr ...

  7. 走进Vue时代进阶篇(01):重构电商购物车模块

    前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue.所以,教是最好的学.进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们.欢迎你们跟着 ...

  8. Vue.js 学习笔记 第5章 内置指令

    本篇目录: 5.1 基本指令 5.2 条件渲染指令 5.3 列表渲染指令 v-for 5.4 方法与事件 5.5 实战:利用计算属性.指令等知识开发购物车 回顾一下第2.2节,我们己经介绍过指令(Di ...

  9. Vue (一) --- vue.js的快速入门使用

    =-----------------------------------把现在的工作做好,才能幻想将来的事情,专注于眼前的事情,对于尚未发生的事情而陷入无休止的忧虑之中,对事情毫无帮助,反而为自己凭添 ...

随机推荐

  1. mysql 基础语法

    以下为自己学习mysql 的一些笔记,以方便查询 目录 一. ALTER的 语法 二. 表的完整性约束 三. 索引的操作(mysql 数据库支持至少 16 个索引) 四. 视图的操作 五. 触发器的操 ...

  2. 剑指offer题目51-60

    面试题51:数组中重复的数字 public class Solution { public boolean duplicate(int numbers[],int length,int [] dupl ...

  3. [MyBean-插件]MyBean通用报表免费无限制版本发布

      [优点]    1.开发时无需安装报表组件(可以直接用编译好的文件,注意版权说明,请自行编译一次相应的报表插件文件).    2.无带包烦恼所有版本Delphi都可以使用,不拖累Delphi版本的 ...

  4. Azure IaaS 用户手册 - 第一部分

    可用性集 相当于AZ? 能实现跨Rack的可用性? Azure 如何保证 CPU.内存.硬盘的性能? 传统的 Hyper-V 技术,其CPU 是共享的.比如您的 ThinkPad T430S 是 4C ...

  5. ICMP

    (一)ICMP IP是一个尽力的不可靠的协议,IP不能提供差错控制(如果数据在传播过程中出现错误了),这个时候ICMP就起作用了. ICMP提供两个功能:差错的报告,查询. ICMP的ICMP包分为两 ...

  6. [Shell]正则表达式与通配符

    ----------------------------------------------------------------------------------------- 正则表达式与通配符: ...

  7. Delphi初学者,向万一老师致敬

    今天首开博客园... 刚开始学习Delphi难免诸多不懂... 感谢万能的万一老师...

  8. Mispelling 1510

    #include<iostream>#include<string>#include<cstdio>using namespace std;int main(){  ...

  9. JS-for中的i

    var aBtn = document.getElementsByTagName('input');        for( var i=0; i<aBtn.length; i++ ){     ...

  10. 关于 pgsql 数据库json几个函数用法的效率测试

    关于 pgsql 数据库json几个函数用法的效率测试 关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次 ...