博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现max sum sliding window最大和滑动窗口算法(附完整源码)
    查看>>
    Objective-C实现MaxHeap最大堆算法(附完整源码)
    查看>>
    Objective-C实现MaximumSubarray最大子阵列(Brute Force蛮力解决方案)算法(附完整源码)
    查看>>
    Objective-C实现MaximumSubarray最大子阵列(动态规划解决方案)算法(附完整源码)
    查看>>
    Objective-C实现maxpooling计算(附完整源码)
    查看>>
    Objective-C实现max_difference_pair最大差异对算法(附完整源码)
    查看>>
    Objective-C实现max_heap最大堆算法(附完整源码)
    查看>>
    Objective-C实现MD5 (附完整源码)
    查看>>
    Objective-C实现md5算法(附完整源码)
    查看>>
    Objective-C实现MeanSquareError均方误差算法 (附完整源码)
    查看>>
    Objective-C实现median filter中值滤波器算法(附完整源码)
    查看>>
    Objective-C实现memcmp函数功能(附完整源码)
    查看>>
    Objective-C实现memcpy函数功能(附完整源码)
    查看>>
    Objective-C实现memoization优化技术算法(附完整源码)
    查看>>
    Objective-C实现memset函数功能(附完整源码)
    查看>>
    Objective-C实现merge insertion sort合并插入排序算法(附完整源码)
    查看>>
    Objective-C实现merge sort归并排序算法(附完整源码)
    查看>>
    Objective-C实现mergesort归并排序算法(附完整源码)
    查看>>
    Objective-C实现MidpointIntegration中点积分算法 (附完整源码)
    查看>>
    Objective-C实现miller rabin米勒-拉宾素性检验算法(附完整源码)
    查看>>