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

本文共 1552 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    nodejs支持ssi实现include shtml页面
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>
    nodejs生成多层目录和生成文件的通用方法
    查看>>
    nodejs端口被占用原因及解决方案
    查看>>
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>
    nodejs系列之Koa2
    查看>>
    Nodejs连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>