uni-app入门:组件的基本使用

简介: 实际上组件可以理解为相当于html中的一个标签.比如说快标签div、行标签span。

1.组件概念


首先讲一下什么是组件

官方说法:
组件是视图层的基本组成单元。 组件是一个单独且可复用的功能模块的封装。

    实际上组件可以理解为相当于html中的一个标签.比如说快标签div、行标签span。


2.组件分类


uni-app的组件,分为基础组件和扩展组件。


2.1基础组件

    基础组件是内置在uni-app框架中的,包括view、text、input、button、video等几十个基础组件,常用组件可以参考官网: uni-app基础组件.

但仅有基础组件是不够用的,实际开发中会有很多封装的组件。


2.2 扩展组件

    虽然所有的业务需求都可以通过基础组件满足,但仅有基础组件是低效的,实际开发中会有很多封装的组件。这就是扩展组件存在的意义。除了基础组件,都称为扩展组件。扩展组件需要将组件导入项目中才可以使用。

封装扩展组件的优势:

可以将组件进行任意次数的复用。
合理的划分组件,有助于提高应用性能。
代码更加方便组织和管理,并且扩展性也更强,便于多人协同开发。
组件化开发能大幅度提高应用开发效率、测试性、复用性等。

    使用扩展组件可以直接从插件市场通过Hbuilder进行导入到项目中,一般默认导入uni_modules目录。插件地址: https://ext.dcloud.net.cn/

ac5482caeacaf3899bd947e092993106_3fbb80d80931471ba71e806127a08da6.png


2.3 easycom规范

HBuilderX 2.5.5起支持

    传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。

    只要组件安装在项目的components目录下或uni_modules目录下,并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用。

    easycom是自动开启的,不需要手动开启。

    如果你的组件名称或路径不符合easycom的默认规范,可以在pages.json的easycom节点进行个性化设置,自定义匹配组件的策略。具体可以参考:

https://uniapp.dcloud.net.cn/collocation/pages.html#easycom


3.自定义组件以及使用


    目录结构如下:

d28d572998b3362082d7ef37876e5978_dd54a3402c3343c189e2d19507f957da.png

创建组件:my-componet

<template>
  <view class="my-componet-box">
    {{title}}
  </view>
</template>
<script>
  export default {
    // 声明组件名
    name:"my-componet",
    data() {
      return {
        title:'我是自定义组件!'
      };
    }
  }
</script>
<style>
  .my-componet-box{
    width: 100rpx;
    height: 120rpx;
    background-color: green;
  }
</style>


3.1局部注册

    局部注册(仅在注册页面使用,示例在test页面中使用):

<template>
  <view>
    <!-- 3.使用组件 -->
     <my-componet></my-componet>
  </view>
</template>
<script>
 // 1.导入组件
  import myComponet from '@/components/my-componet/my-componet.vue'
  export default {
  // 2.注册组件
    components:{
      myComponet
    },
    data() {
      return {
      }
    },
    methods: {
    }
  }
</script>
<style>
</style>

效果展示,test页面中显示自定义组件:

a78f13312cc74e3242377cb5d88ec1c0_dc063b7ce5da42e2b8b42c4d6416a9bc.png


3.2全局注册

    全局注册(各个页面均可使用):

main.js中:

import Vue from 'vue'
import myComonet from '@/components/my-component'
Vue.component('my-comonet',myComonet )

示例在mine页面中使用(直接使用即可,无需导入和注册):

<template>
  <view>
    <my-componet></my-componet>
  </view>
</template>
<script>
  export default {
    data() {
      return {
      }
    },
    methods: {
    }
  }

展示效果:

104c618d787f9573ce9f3de942dd6c40_217c1423f05141068fb9e381ac167533.png

uniapp中更多组件使用可以参考:

https://uniapp.dcloud.net.cn/tutorial/vue-components.html


相关文章
|
22天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
66 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
218 1
|
2月前
|
存储 API 数据库
uniapp APP自动更新组件
uniapp APP自动更新组件
75 1
|
2月前
|
小程序 JavaScript 前端开发
uni app 入门
uni app 入门
41 2
|
4月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
112 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
2月前
|
存储 前端开发 UED
uni-app:基础组件 (下)
本文介绍了多种前端组件及其用法,包括:label 组件用于表单元素的标签;picker 组件用于实现日期、时间及普通列表的选择器;textarea 组件用于输入多行文本,并可通过 v-model 双向绑定数据;process 组件用于显示进度条;swiper 组件用于轮播图展示;match-media 组件根据屏幕尺寸展示内容;audio 组件用于播放音频;switch 组件用于开关选择;scroll-view 组件实现滚动视图功能;以及 storage 的使用方法,如设置、获取和移除本地存储等。
|
2月前
|
存储 前端开发 JavaScript
uni-app:基础组件 (上)
本文介绍了uni-app中多个组件的使用方法,包括存储操作、图标展示、按钮样式、表单输入、导航跳转和输入框控制等。通过具体代码示例展示了如何设置存储键值、使用不同类型的按钮、实现表单提交与重置功能、控制输入框的显示与清除等功能。
|
3月前
|
移动开发 小程序 前端开发
uni-app组件样式修改不生效
uni-app组件样式修改不生效
|
4月前
|
XML 数据格式
【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
|
4月前
|
网络协议 物联网 测试技术
App Inventor 2 MQTT拓展入门(保姆级教程)
本文演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。
211 2

热门文章

最新文章