基础入门

组件可以把一段代码封装起来,目的是提高这一段代码的复用率,并且也可以减少开发人员多次编写相同的代码。一旦组件定义好了之后,在页面中只需要通过<element /> 标签引入进来就可以了。

快速认识 Vue 组件

在项目中创建一个用于存放组件的文件夹 components。目前项目文件夹的结构是这样的:

组件与页面一样都需要 hml、js、css 三个文件:

<div class="container">
<text>{{ msg }}</text>
</div>
export default {
data: {
msg: 'This is a component.'
}
}

<element />标签包含两个属性:name 和 src:

  1. name 属性指自定义组件名称(非必填),组件名称对大小写不敏感,默认使用小写。若没有设置 name 属性,则默认使用 hml 文件名作为组件名。
  2. src 属性指自定义组件 hml 文件路径(必填)。

在页面中引入组件:

<element name="DemoComp" src="../../../components/demo/index.hml"></element>

<div class="container">
<!-- DemoComp 组件 -->
<DemoComp></DemoComp>
<text>
This is a page.
</text>
</div>

!注意:组件名最好使用大驼峰命名法,主要是用于区别开基础组件名,也是为了提高可阅读性。

Props

组件可以接收一些参数,跟函数一样有参数,这样可以进行一些组件的配置,从而达到不一样的效果。

组件接收参数的接口就是 Props,实际上它是一个对象,可以有许多类型的属性:String,Number,Boolean,Array,Object,Function。

!注意:Props 的属性采用驼峰命名法,在 HML 文件中,对应的属性名必须使用短横线分隔命名法。

定义两个 Props 属性:imgSrc 和 size。

export default {
props: {
imgSrc: {
// imgSrc 属性的默认值,不传递参数时使用默认值。
default: 'https://pic.cnblogs.com/avatar/2271881/20210617130249.png'
},
size: {
default: 50
}
}
}
<div class="container" style="height: {{ size }} px; width: {{ size }} px;">
<image class="img" src="{{ imgSrc }}"></image>
</div>

在 HML 中引入组件:

<element name="Avatar" src="../../../components/avatar/index.hml"></element>

<div class="container">
<Avatar></Avatar>
<text>
This is a page.
</text>
</div>

页面成功显示了刚刚自定义的头像组件。现在,我们修改组件的 imgSrc 和 size 属性:

<Avatar size="150" img-src="https://img1.baidu.com/it/u=1723224959,3151955398&fm=26&fmt=auto"></Avatar>

ArkUI 自定义组件的更多相关文章

  1. Android开发之自定义组件和接口回调

    说到自定义控件不得不提的就是接口回调,在Android开发中接口回调用的还是蛮多的.在这篇博客开始的时候呢,我想聊一下iOS的自定义控件.在iOS中自定义控件的思路是继承自UIView, 在UIVie ...

  2. Android自定义组件

    [参考的原文地址] http://blog.csdn.net/l1028386804/article/details/47101387效果图: 实现方式: 一:自定义一个含有EditText和Butt ...

  3. 自己写的几个android自定义组件

    http://www.see-source.com/androidwidget/list.html 多多指点,尤其是自定义组件的适配问题,希望能有更好的方法

  4. PhoneGap: Android 自定义组件

    Hello Core Demo Plugin Development(组件部署): http://docs.phonegap.com/en/2.0.0/guide_plugin-development ...

  5. android开发之自定义组件

    android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...

  6. HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)

    Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...

  7. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)

    在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...

  8. HTML5 UI框架Kendo UI Web自定义组件(一)

    Kendo UI Web包含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在Kendo UI Web中如何创建自定义组件呢,在下面的文章中 ...

  9. 自定义组件之MoreListView

    前言 本文针对自定义组件进行一些分析.还是那句老话“授之于鱼不如授之以渔”.今天要讲的是一个自定义的可以分页的ListView. 网上都讲了些ListView分页的方法,那么为什么我在这里还需要自己写 ...

随机推荐

  1. Excel导表工具-开源

    功能 支持int.float.bool.string基础类型 支持数组 支持kv 支持枚举 支持unity类型vector3,vector2,color 自动生成csharp类 单个excel中多个s ...

  2. MIT 6.824(Spring 2020) Lab1: MapReduce 文档翻译

    首发于公众号:努力学习的阿新 前言 大家好,这里是阿新. MIT 6.824 是麻省理工大学开设的一门关于分布式系统的明星课程,共包含四个配套实验,实验的含金量很高,十分适合作为校招生的项目经历,在文 ...

  3. JAVA - 类的加载过程

    JAVA - 类的加载过程 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化. 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象 ...

  4. Cent OS8.0 及以上版本安装禅道教程

    Cent OS8系统下安装禅道需要搭建环境如下:httpd ,mariadb , php7.2 再运行禅道 一,环境说明: 运行环境推荐使用 Apache + PHP(7.0/7.1/7.2版本) + ...

  5. conda创建/移除虚拟环境

    conda创建python虚拟环境 前言 conda常用的命令: conda list 查看安装了哪些包. conda env list 或 conda info -e 查看当前存在哪些虚拟环境 co ...

  6. midway的使用教程

    一.写在前面 先说下本文的背景,这是一道笔者遇到的Node后端面试题,遂记录下,通过本文的阅读,你将对楼下知识点有所了解: midway项目的创建与使用 typescript在Node项目中的应用 如 ...

  7. ExtJS 布局-Center布局(Center layout)

    更新记录: 2022年6月12日 检查发布. 2022年6月1日 开始. 1.说明 center布局将子项放置在容器的中心. 2.设置布局方法 在父容器中设置 layout: 'center', // ...

  8. Spring jdbctemplate和事务管理器 全注解配置 不使用xml

    /** * spring的配置类,相当于bean.xml */@Configuration//@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans ...

  9. 简单性能测试:springboot-2.x vs actix-web-4.x benchmark

    性能测试:springboot-2.x vs actix-web-4.x benchmark 转载请注明出处 https://www.cnblogs.com/funnyzpc/p/15956465.h ...

  10. Microsoft Office Visio Professional 之包图

    1 包的概念 1.1 包的定义 包(Package): 是UML用来组织模型元素的模型元素. 包中可以包含类.接口.构件.用例.结点.活动.状态.包等其他模型元素. 包是对软件模型进行分解.组织的有效 ...