uni-app引入小程序自定义组件

本文档详细介绍了在uni-app项目中如何创建和使用微信小程序自定义组件。包括设置组件目录结构、在pages.json中引入组件以及在页面模板中调用组件的具体步骤。

参见官方文档

https://uniapp.dcloud.io/frame?id=%e5%b0%8f%e7%a8%8b%e5%ba%8f%e7%bb%84%e4%bb%b6%e6%94%af%e6%8c%81

1.新建wxcomponents文件夹,存放组件

    
┌─wxcomponents                  微信小程序自定义组件存放目录
│   └──custom                   微信小程序自定义组件
│        ├─index.js
│        ├─index.wxml
│        ├─index.json
│        └─index.wxss
├─pages
│  └─index
│        └─index.vue
│
├─static
├─main.js
├─App.vue
├─manifest.json
└─pages.json

 

2.使用方式

在 pages.json 对应页面的 style -> usingComponents 引入组件:

{
    "pages": [
        {
            "path": "index/index",
            "style": {
                "usingComponents": {
                    // #ifdef APP-PLUS || MP-WEIXIN || MP-QQ
                     "custom": "/wxcomponents/custom/index"
                    // #endif
                    // #ifdef MP-BAIDU
                     "custom": "/swancomponents/custom/index"
                    // #endif
                    // #ifdef MP-ALIPAY
                     "custom": "/mycomponents/custom/index"
                    // #endif
                }
            }
        }
    ]
}

 

3.在页面中引入使用

<!-- 页面模板 (index.vue) -->
<view>
    <!-- 在页面中对自定义组件进行引用 -->
    <custom name="uni-app"></custom>
</view>
### uni-app 钉钉小程序 自定义导航栏左侧按钮开发 在uni-app中开发钉钉小程序时,可以通过`custom-nav-bar`组件自定义导航栏。对于自定义导航栏的左侧部分,可以利用`<view>`标签创建自定义控件并绑定事件处理程序。 #### 创建自定义导航栏组件 为了实现更灵活的设计,在项目中新建一个名为 `CustomNavBar.vue` 的组件: ```vue <!-- CustomNavBar.vue --> <template> <view class="nav-bar"> <!-- 左侧区域 --> <view class="left-area" @click="handleLeftClick"> {{ leftText }} </view> <!-- 中间标题 --> <view class="center-title">{{ title }}</view> <!-- 右侧区域可选扩展 --> </view> </template> <script> export default { props: { leftText: String, title: String }, methods: { handleLeftClick() { this.$emit('left-click'); } } }; </script> <style scoped> .nav-bar { display: flex; justify-content: space-between; align-items: center; padding: 0 16px; height: 48px; background-color: #fff; } .left-area, .center-title { font-size: 16px; } </style> ``` 此代码片段展示了如何构建一个简单的自定义导航条[^1]。 #### 使用自定义导航栏组件 接着可以在具体的页面(如index页面)引入这个新创建的组件,并设置相应的属性和监听器来控制行为: ```html <template> <view> <CustomNavBar :title="'首页'" :left-text="'返回'" @left-click="goBack"></CustomNavBar> <!-- 页面主体内容 --> </view> </template> <script> import CustomNavBar from '@/components/CustomNavBar'; export default { components: { CustomNavBar }, methods: { goBack(){ console.log("触发了返回操作"); // 实际应用逻辑... } } }; </script> ``` 上述实例通过props传递参数给子组件,并且绑定了点击事件处理器用于执行特定功能,比如这里实现了当用户点击左侧文字时打印日志信息的功能[^2]。 #### 定义样式与布局调整 如果希望进一步定制外观,则可以直接修改`.nav-bar`, `.left-area`以及`.center-title`类下的CSS规则以满足需求。也可以考虑使用框架自带的一些UI库来进行美化工作[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值