微信原生小程序自定义封装组件(以导航navbar为例)

在这里插入图片描述

封装

topnav.js

const App = getApp();
Component({// 组件的属性列表properties: {pageName: String, //中间的titleshowNav: { //判断是否显示左上角的按钮    type: Boolean,value: true},showHome: { //判断是否显示左上角的home按钮type: Boolean,value: true},showLocation:{type: Boolean,value: false      },showColor:String, //颜色showStore:String,showWhite:{type: Boolean,value: false      },titlecolor:String,//titletitleleft:String,//title//中间是否是定位},// 组件的初始数据data: {// showNav: true, //判断是否显示左上角的home按钮// showHome: true, //判断是否显示左上角的按钮},lifetimes: {// 生命周期函数,可以为函数,或一个在methods段中定义的方法名attached: function() {this.setData({navHeight: App.globalData.navHeight, //导航栏高度navTop: App.globalData.navTop, //胶囊按钮与顶部的距离jnheight: App.globalData.jnheight, //胶囊高度jnwidth: App.globalData.jnwidth //胶囊宽度})}},// 组件的方法列表methods: {//回退navBack: function() {let pages = getCurrentPages();let prevpage = pages[pages.length - 2];prevpage.setData({isflag:true})wx.navigateBack()},//回主页navHome: function() {wx.reLaunch({url: '/pages/index/index'})},//跳转定位页面golocation:function(){wx.navigateTo({url: '/pages/switchcity/switchcity'})}}
})

topnav.json

{"component": true,"usingComponents": {}
}

topnav.wxml

<view class="navbar" style="height:{{navHeight}}px;background:{{showColor}};"><!-- 左上角 返回按钮 和 home按钮 wx:if="{{showNav}}" 是控制左上角按钮的显示隐藏,首页不显示 --><view class="navbar_left"style="top:{{navTop}}px;height:{{jnheight}}px;width:{{jnwidth}}px;background:{{showWhite?'rgba(0,0,0,0.2)':''}};"wx:if="{{showNav}}"><!-- 控制返回按钮的显示 --><view bindtap="navBack"><!-- <image src="../../images/back.png" mode="widthFix" style="width:40%"></image> --><i class="iconfont iconfanhui" style="color:{{showWhite?'#fff':''}};"></i></view><!-- home按钮 wx:if="{{showHome}}" 是控制左上角 home按钮的显示隐藏--><view class="nav_line" bindtap="navHome" wx:if="{{showHome}}"><!-- <image src="../../images/backhome.png" mode="widthFix" style="width:50%"></image> --><i class="iconfont iconshouye" style="color:{{showWhite?'#fff':''}};"></i></view></view><!-- 中间标题 --><!-- <view wx:if="{{showLocation}}" style="top:{{navTop}}px;"  class="navbar_title"><view bindtap="golocation">{{pageName}}<i class="iconfont iconarrowtriangle_down_fill"></i></view></view> --><view class="navbar_title {{showWhite?'':''}}" style="top:{{navTop}}px;padding-left: {{titleleft}}px;color:{{titlecolor}}"><view>{{pageName}}</view></view><!-- white_title  白色 -->
</view>

topnav.wxss

@import "/static/css/icon.wxss";.navbar {width: 100%;overflow: hidden;top: 0;left: 0;flex-shrink: 0;position: fixed !important;z-index: 9999;background: white;
}.navbar_left {display: -webkit-flex;display: flex;-webkit-box-align: center;-ms-flex-align: center;-webkit-align-items: center;align-items: center;position: absolute;left: 20rpx;z-index: 11;line-height: 1;border: 1rpx solid #f0f0f0;border-radius: 40rpx;overflow: hidden;background: rgba(255, 255, 255, 0.6);box-sizing: border-box;
}.navbar_left view {width: 50%;display: flex;align-items: center;justify-content: center;
}.nav_line {border-left: 1rpx solid #f0f0f0;
}.navbar_title {width: 100%;box-sizing: border-box;text-align: center;height: 64rpx;line-height: 64rpx;position: absolute;left: 0;z-index: 10;font-size: 32rpx;font-weight: bold;text-overflow: ellipsis;overflow: hidden;
}.white_title {color: #fff !important;
}.iconfont {font-size: 34rpx;font-weight: 600;
}.iconarrowtriangle_down_fill {font-size: 20rpx;margin-left: 6rpx;
}

icon.wxss

@font-face {font-family: 'iconfont';  /* Project id 2408657 */src: url('//at.alicdn.com/t/c/font_2408657_h16zp03rdqu.woff2?t=1705321879152') format('woff2'),url('//at.alicdn.com/t/c/font_2408657_h16zp03rdqu.woff?t=1705321879152') format('woff'),url('//at.alicdn.com/t/c/font_2408657_h16zp03rdqu.ttf?t=1705321879152') format('truetype');
}.iconfont {font-family: "iconfont" !important;font-size: 16px;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}.iconxuanzhong1:before {content: "\e631";
}.iconweixuanzhong:before {content: "\e633";
}.iconcaigoufapiao:before {content: "\e6b7";
}.iconshangsheng1:before {content: "\e737";
}.iconkefu:before {content: "\e625";
}.iconFrame:before {content: "\e636";
}.iconxiajiantou:before {content: "\eb6d";
}.iconshangjiantou:before {content: "\eb6e";
}.iconshangxiaqiehuan:before {content: "\e9cd";
}.iconxiala2:before {content: "\e634";
}.iconwenduxiajiang:before {content: "\e622";
}.icondiandiandian:before {content: "\e6f5";
}.iconliuyan1:before {content: "\e748";
}.icondizhi:before {content: "\e63e";
}.iconyunshu:before {content: "\e637";
}.iconshang1:before {content: "\e64e";
}.iconxia1:before {content: "\e64f";
}.iconcha:before {content: "\e679";
}.icona-xuanzhong:before {content: "\e602";
}.iconbitian:before {content: "\e669";
}.iconzuobiaofill:before {content: "\e768";
}.icondianhua:before {content: "\e635";
}.iconzuobiao:before {content: "\e615";
}.iconshanchu:before {content: "\e601";
}.icon4Sdian:before {content: "\e740";
}.iconxiala1:before {content: "\e756";
}.iconzhankaishangxia:before {content: "\e7b2";
}.iconshang:before {content: "\e610";
}.iconxia:before {content: "\e61b";
}.iconxiala:before {content: "\e7b1";
}.iconxuanzhong:before {content: "\e60d";
}.iconarrowtriangle_down_fill:before {content: "\e620";
}.iconshangsheng:before {content: "\e609";
}.iconxiajiang:before {content: "\e738";
}.iconchacha:before {content: "\e62f";
}.iconright:before {content: "\eb1b";
}.iconfanhui1:before {content: "\e61e";
}.iconsousuo:before {content: "\e600";
}.iconfanhui:before {content: "\e63b";
}.iconshouye:before {content: "\e659";
}

使用

index.wxml

  <topnav pageName="导航"></topnav>

index.json

{"usingComponents": {"topnav": "/component/topnav/topnav",},"navigationStyle":"custom","navigationBarTitleText": "text"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3437.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RPA赋能内容创作:打造小红书入门词语图片的全自动化流程

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 用RPA全自动化批量生产【入门词语】图片做小红书商单&#xff0c;保姆级工具开发教程 最近由…

Linux SUID提权

文章目录 1. SUID/SGID2. 查找SUID文件3. SUID/SGID提权3.1 SUID配置不当3.2 SUID systemctl提权3.3 $PATH变量劫持 4. 参考 1. SUID/SGID SUID&#xff08;Set User ID&#xff09;意味着如果某个用户对属于自己的文件设置了这种权限&#xff0c;那么其他用户在执行这一脚本时…

【PyQt】图像处理系统

[toc]pyqt实现图像处理系统 图像处理系统 1.创建阴影去除ui文件 2.阴影去除代码 1.创建阴影去除ui文件 UI文件效果图&#xff1a; 1.1QT Desiger设置组件 1.两个Pushbutton按钮 2.两个label来显示图像 3.Text Browser来显示输出信息 1.2布局的设置 1.先不使用任何La…

从零创建一个 Django 项目

1. 准备环境 在开始之前&#xff0c;确保你的开发环境满足以下要求&#xff1a; 安装了 Python (推荐 3.8 或更高版本)。安装 pip 包管理工具。如果要使用 MySQL 或 PostgreSQL&#xff0c;确保对应的数据库已安装。 创建虚拟环境 在项目目录中创建并激活虚拟环境&#xff…

springboot多环境配置

问题背景 以后在工作中&#xff0c;对于开发环境、测试环境、生产环境的配置肯定都不相同&#xff0c;比如我们开发阶段会在自己的电脑上安装 mysql &#xff0c;连接自己电脑上的 mysql 即可&#xff0c;但是项目开发完毕后要上线就需要该配置&#xff0c;将环境的配置改为线…

WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测

WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测 目录 WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于WOA-CNN-GRU-Attention、…

鸿蒙动态路由实现方案

背景 随着CSDN 鸿蒙APP 业务功能的增加&#xff0c;以及为了与iOS、Android 端统一页面跳转路由&#xff0c;以及动态下发路由链接&#xff0c;路由重定向等功能。鸿蒙动态路由方案的实现迫在眉睫。 实现方案 鸿蒙版本动态路由的实现原理&#xff0c;类似于 iOS与Android的实…

【Go】Go Gorm 详解

1. 概念 Gorm 官网&#xff1a;https://gorm.io/zh_CN/docs/ Gorm&#xff1a;The fantastic ORM library for Golang aims to be developer friendly&#xff0c;这是官网的介绍&#xff0c;简单来说 Gorm 就是一款高性能的 Golang ORM 库&#xff0c;便于开发人员提高效率 那…

Chrome谷歌浏览器如何能恢复到之前的旧版本

升级了谷歌最新版不习惯&#xff0c;如何降级版本 未完待续。。 电脑中的Chrome谷歌浏览器升级到了最新版本&#xff0c;但是有种种的不适应&#xff0c;如何能恢复到之前的旧版本呢&#xff1f;我们来看看操作步骤&#xff0c;而且无需卸载重装。 怎么恢复Chrome 之前版本&a…

技术晋升读书笔记—华为研发

读完《华为研发》第三版&#xff0c;我深感震撼&#xff0c;书中的内容不仅详实地记录了华为公司的成长历程&#xff0c;还揭示了华为成功背后的管理理念和创新思路。这本书通过真实的案例和数据&#xff0c;展示了华为如何从一个小企业发展成全球通信行业的领导者。 一、关键人…

数据可视化:让数据讲故事的艺术

目录 1 前言2 数据可视化的基本概念2.1 可视化的核心目标2.2 传统可视化手段 3 数据可视化在知识图谱中的应用3.1 知识图谱的可视化需求3.2 知识图谱的可视化方法 4 数据可视化叙事&#xff1a;让数据讲故事4.1 叙事可视化的关键要素4.2 数据可视化叙事的实现方法 5 数据可视化…

【OpenCV(C++)快速入门】--opencv学习

0 配置环境 配置环境网上很多资料&#xff0c;这里就不赘述了。 笔者使用的是VS2022opencv4.9.0 测试配置环境 // 打开摄像头样例 #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/imgcodecs/imgcod…

归并排序算法

归并排序 1算法介绍 和选择排序一样&#xff0c;归并排序的性能不受输入数据的影响&#xff0c;但表现比选择排序好的多&#xff0c;因为始终都是O(n log n&#xff09;的时间复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用…

unity学习18:unity里的 Debug.Log相关

目录 1 unity里的 Debug.log相关 2 用Debug.DrawLine 和 Debug.DrawRay画线 2.1 画线 1 unity里的 Debug.log相关 除了常用的 Debug.Log&#xff0c;还有另外2个 Debug.Log("Debug.Log"); Debug.LogWarning("Debug.LogWarning"); Debug.LogErro…

c语言第一天

前言&#xff1a; bili视频2. 【初识C语言】第一个C语言项目_哔哩哔哩_bilibili 我感觉我意志不坚定&#xff0c;感觉要学网络安全&#xff0c;我又去专升本了&#xff0c;咋搞啊 多学一点是一点&#xff0c;我看到day1团队的人&#xff0c;一天学12个小时&#xff0c;年入2…

PyTorch DAY2: 搭建神经网络

如今&#xff0c;我们已经了解了 PyTorch 中张量及其运算&#xff0c;但这远远不够。本次实验将学会如何使用 PyTorch 方便地构建神经网络模型&#xff0c;以及 PyTorch 训练神经网络的步骤及方法。 知识点 PyTorch 构建神经网络Sequential 容器结构使用 GPU 加速训练模型保存…

2025 年 Java 最新学习资料与学习路线——从零基础到高手的成长之路

2025 年 Java 最新学习资料与学习路线——从零基础到高手的成长之路 大家好&#xff0c;欢迎来到我的频道&#xff01;今天我们要聊聊 Java ——这门陪伴了很多程序员成长的编程语言。无论你是编程新手&#xff0c;还是已经走了一段编程路&#xff0c;但还不确定如何深入学习 …

riscv架构下linux4.15实现early打印

在高版本linux6.12.7源码中&#xff0c;early console介绍&#xff0c;可参考《riscv架构下linux6.12.7实现early打印》文章。 1 什么是early打印 适配内核到新的平台&#xff0c;基本环境搭建好之后&#xff0c;首要的就是要调通串口&#xff0c;方便后面的信息打印。 正常流…

【论文阅读笔记】基于YOLO和ResNet深度卷积神经网络的结直肠息肉检测

作者&#xff1a;李素琴、吴练练、宫德馨、胡珊、陈奕云、朱晓云、李夏、于红刚 效果视频链接&#xff1a;https://www.xhnj.com/m/video/1008384.htm 小结 从算法的角度来说&#xff0c;作为2020发布的论文&#xff0c;使用的技术是比较落后的了。一个息肉检测项目&#xff0…

win32汇编环境,窗口程序中基础列表框的应用举例

;运行效果 ;win32汇编环境,窗口程序中基础列表框的应用举例 ;比如在窗口程序中生成列表框&#xff0c;增加子项&#xff0c;删除某项&#xff0c;取得指定项内容等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;以下是ASM文件 ;>>>>>>>>>>>…