博客
关于我
vue 第三天 组件化开发
阅读量:542 次
发布时间:2019-03-09

本文共 1529 字,大约阅读时间需要 5 分钟。

组件化开发思想:基于Vue的实践指南

组件化规范:Web Components

Web Components 是构建用户界面的标准化组件化方法。其核心目标是最大限度地复用代码,减少重复工作。然而,自定义组件在 HTML、CSS 和 JavaScript 中的实现并不方便,多次使用组件可能导致命名冲突。Vue 提供了对 Web Components 的实现,简化了组件化开发。

组件注册

全局组件注册

全局组件注册是一种简单且直观的方式,适用于需要在整个应用中重用的组件。其语法如下:

Vue.component('button-counter', {  data: function() {    return { count: 0 };  },  template: ''});

组件用法

全局组件可以通过以下方式使用:

组件注册注意事项

  • 数据函数:组件的 data 必须是一个函数。
  • 模板结构:组件模板必须是一个单个根元素。
  • 模板字符串:支持 ES6 模板字符串。
  • 命名规则:组件名可以使用驼峰或短横线方式,但在 HTML 中,标签必须使用短横线。
  • 局部组件注册

    局部组件只能在其父组件中使用。注册方式如下:

    var ComponentA = {  data: function() {    return { msg: 'HelloJerry' };  },  template: '
    {{ msg }}
    '};new Vue({ el: '#app', components: { 'component-a': ComponentA }});

    Vue调试工具用法

    可以通过百度找到相关工具的使用方法。

    组件间数据交互

    父组件向子组件传值

  • 子组件接收值的方式:
    props: ['title']
  • 父组件传递值:
  • 动态传递:
  • 属性名规则:在 props 中使用驼峰式,HTML 中需转换为短横线。
  • props 属性值类型

    支持 String、Number、Boolean、Array、Object 等类型。

    子组件向父组件传值

    通过自定义事件:

    非父子组件间传值

    使用事件中心:

    var eventHub = new Vue();eventHub.$on('add-todo', function(val) {});eventHub.$emit('add-todo', val);

    组件插槽

    插槽作用

    父组件向子组件传递内容,主要用于布局和内容展示。

    具名插槽

    定义:

    Vue.component('base-layout', {  template: `    
    `});

    使用:

    标题信息

    主要内容1

    主要内容2

    底部信息信息

    作用域插槽

    在子组件中使用 slot-scope 属性:

    基于组件的案例

    需求分析

    根据业务功能进行组件化划分:

  • 标题组件(展示文本)
  • 列表组件(列表展示、商品数量变更、商品删除)
  • 结算组件(计算商品总额)
  • 功能实现步骤

  • 实现整体布局和样式效果
  • 划分独立的功能组件
  • 组合所有子组件形成整体结构
  • 逐个实现各个组件功能
  • 转载地址:http://dgzsz.baihongyu.com/

    你可能感兴趣的文章
    python 数据可视化 -- matplotlib02
    查看>>
    python 数据可视化利器
    查看>>
    Python 数据可视化详解
    查看>>
    python 数据库查询返回list或tuple
    查看>>
    Python 数据库连接池管理的基本知识 (附Demo)
    查看>>
    Python学习记录-2016-12-17
    查看>>
    Python 数据库骚操作 -- MySQL
    查看>>
    Python 数据操作详解
    查看>>
    Python 数据文件与网络数据序列化存储详解
    查看>>
    Python 数据结构与算法详解
    查看>>
    Python 数据采集、清洗、整理、分析以及可视化实战
    查看>>
    Python 数据预处理
    查看>>
    python 文件类型检测 linux和windows都可以用
    查看>>
    Python多处理池,加入;不等待继续?
    查看>>
    Python多处理帮助在条件下退出
    查看>>
    Python 无法安装包
    查看>>
    python 日历小部件 - 返回用户选择的日期
    查看>>
    Python 日志管理封装
    查看>>
    python 时间函数小总结
    查看>>
    Python 是否优化尾递归?
    查看>>