微信小程序(十七)自定义组件生命周期(根据状态栏自适配)

news/2024/7/24 11:54:42 标签: 微信小程序, 小程序

注释很详细,直接上代码

上一篇

新增内容:
1.获取手机状态栏的高度
2.验证attached可以修改数据
3.动态绑定样式数值

源码:

myNav.js

Component({
    lifetimes:{
        //相当于vue的created,因为无法更新数据被打入冷宫
        created(){

        },
        //相当于vue的mounted
        attached(){
            //{statusBarHeight}是ES6的解构赋值语法,用于从一个对象中提取属性值并赋给对应的变量或常量
            //从wx.getSystemInfoSync()返回的对象中提取了statusBarHeight属性的值,并将其赋给了名为statusBarHeight的常量
            const {statusBarHeight}=wx.getSystemInfoSync();//获取的是手机状态栏的高度
            
            console.log(statusBarHeight);

            //测试一下是否可以修改数据
            this.setData({
                test:20
            })
        }
    },
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
        "test":0
  },

  /**
   * 组件的方法列表
   */
  methods: {

  }
})

myNav.wxml

//将上边距设为状态栏高度即可避免刘海屏等样式的屏幕遮挡自定义控件
<view class="navigationBar custom-class" style="padding-top: {{test}}px;">
    <view class="navigationBarTitle title-class">
        自定义标题
    </view>
</view>

mynav.wxss

.navigationBar{
    background-color: cornflowerblue;
    height: 80rpx;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navigationBarTitle{
    font-weight: bold;
}

效果演示:

a在这里插入图片描述

组件的数据是不能像页面一样使用AppData查看的,这里演示一下查看方法

在这里插入图片描述
下一篇


http://www.niftyadmin.cn/n/5348685.html

相关文章

6JS对象

对象简介 对象是JavaScript的基本数据类型。对象是一种复合值&#xff1a;它将很多值&#xff08;原始值或者其他对象&#xff09;聚合在一起&#xff0c;可通过名字访问这些值。对象也可看做是属性的无序集合&#xff0c;每个属性都是一个名/值对。属性名是字符串&#xff0c…

Vue3生命周期 VS Vue2生命周期(小记)

概念&#xff1a;Vue组件实例在创建时要经历一系列的初始化步骤&#xff0c;在此过程中Vue会在合适的时机&#xff0c;调用特定的函数&#xff0c;从而让开发者有机会在特定阶段运行自己的代码&#xff0c;这些特定的函数统称为&#xff1a;生命周期钩子。 规律&#xff1a; 生…

GPT4.5人工智能即将来临,ChatGPT的正面影响和负面影响(好处和坏处),利弊分析

ChatGPT来了&#xff0c;对我们影响大不大&#xff1f; 近年来&#xff0c;人工智能技术的飞速进步催生了ChatGPT——一种强大的人工智能语言模型。其杰出的生成能力使其能够与人类进行自然、流畅的交流&#xff0c;从而在教育、医疗和娱乐等多个领域展现出巨大的应用潜力。然…

Linux 驱动开发基础知识—— LED 驱动程序框架(四)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

【Git】Conventional Commit提交规范

Conventional Commit提交规范 说明 在Git规范中&#xff0c;提交信息&#xff08;commit message&#xff09;通常按照某个约定来编写&#xff0c;以提供更多上下文&#xff0c;帮助团队成员理解每次提交的目的。一种广泛使用的约定是Conventional Commits规范&#xff0c;它…

HTML/JS实现漂亮的时钟效果(附带源码)

实例代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>漂亮的时钟效果</…

正则匹配 | 正则实际应用探索分享

这并不是一篇教正则基础的文章&#xff0c;其正则式不能对您进行使用后的结果负责&#xff0c;请以研究的眼光看待本篇文章。 技术就是懒人为了更好的懒才会想办法搞的东西&#xff0c;我最近因为某些原因需要频繁删除注释 我就想到通过替换的正则功能快速删除文件中的简单注…

人工智能与机器学习在工业质量检测中的融合发展

人工智能与机器学习在工业质量检测中的融合发展 随着科技的进步&#xff0c;人工智能和机器学习已经成为引领工业质量检测变革的重要力量。它们在工业领域的应用&#xff0c;不仅提高了检测的准确性和效率&#xff0c;也为企业带来了前所未有的发展机遇。 一、机器学习在工业…