小程序为什么引入头部导航条会把原来的页面替换掉

小程序为什么引入头部导航条会把原来的页面替换掉,第1张

方法一:wxnavigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wxnavigateBack可以返回到原页面。 OBJECT参数说明: 参数 类型 必填 说明 url String 是 需要跳转的应用内页面的路径 , 路径后可以带参数。参数与路径之间使用分隔

效果展示

通过使用 Towify 左侧导航栏中的界面,创建一个Tabbar View 界面,然后通过自定义上传图标和设置样式,即可实现底部的菜单导航。

创建界面

点击左侧导航栏中的界面。

点击Tabbar View。

点击确认创建界面。

数据绑定

选中底部导航栏图标。

自定义文本内容。

选中底部导航栏图标。

上传 svg。

配置样式

选中图标。

点击检查面板中的样式面板。

配置图标颜色和阴影。

测试发现 小程序组件(这里指底部导航组件)生命周期的attached 不支持 *** 作 也就是 当想修改底部导航的内容是不支持的

所以上述写法会出现惊奇的结果 哈哈 可以自行运行看看

先了解一下小程序组件的生命周期

[上传中(image-9202b1-1629959126527-0)]

于是我使用了ready 测试发现 部分安卓机 可以 *** 作数据 但是页面底部导航不会更新

看文档发现:

自小程序基础库版本 223 起,组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)。

于是, (这里是在小程序底部导航组件里写这个方法)

测试发现 还是没有更改过来

找资料看到

即可

在一个微信小程序中想要用到两种不同的tabbar样式,需要在appjs中自定义,在页面加载时进行调用。

比如一个小程序需要两个版本(用户版、商家版),并且能通过一个按钮在两个版本间进行切换,可能会用到这种方式。

此处以两个页面(index,logs)显示两种tabbar样式为例,通过切换按钮进行切换。

首先有一个模板文件:tabbarwxml

在appjson中无需定义“tabBar”

在appjs中自定义如下

在appwxss中定义显示样式

indexwxml,用到自定义tabbar的页面的首部都需要引入模板文件

indexjs

logsjs

加载自定义tabbar的那句话(appeditTabBar)写在onload或onshow中都可以。

只写了两个主页面,其他页面可自行定义跳转。

最后放上效果图:

星宿小程序设置顶部分类导航步骤如下:

1、需要一个外层view,将内层水平的子view包含进来,保证内层view的灵活行,是用遍历tabs数组的形式进行。

2、水平平分导航栏包含一个外层view和多个内层view,内层view是水平排列,外层view需使用css的flex属性,同时内层各个view平分,内层view需要设置flex等于1。

3、在data中定义一个数组tabs,用于存放要展示的导航项,需要使用可滑动导航栏。

自定义导航栏分两种,一种是单独某个页面做一个自定义导航;一种是所有页面的导航栏都是自定义样式

如果是所有页面的导航栏都要自定义,在appjson里找到window样式

"navigationStyle":"custom"

所有页面的就需要先自定义组件了,这里先不做详说,因为我目前项目中只是首页需要自定义导航栏,这里我先详说这个

这样当前页面自带的导航栏就没有了,然后需要你在wxml页面中就可以开始写样式了

<!-- 自定义导航栏 -->

    <view class="navStyle" style="height:{{navHeight}}px">

      <view class="navFix" style="height:{{navHeight}}px;margin-top:{{imgTop}}px;">

          <image src=""></image>

          <view style="margin-top:{{cityTop}}px;">

            全国

            {{cityName}}

          </view>

      </view>

    </view>

// 获取状态栏高度

        const { statusBarHeight } = wxgetSystemInfoSync();

        // 得到右上角菜单的位置尺寸

        const menuButtonObject = wxgetMenuButtonBoundingClientRect();

        consolelog('右上角菜单的尺寸:',menuButtonObject);

        const { top, height } = menuButtonObject;

        // 计算导航栏的高度

        // 此高度基于右上角菜单在导航栏位置垂直居中计算得到

        const navBarHeight = height + (top - statusBarHeight) 2;

        // 计算状态栏与导航栏的总高度

        const statusNavBarHeight = statusBarHeight + navBarHeight;

        thissetData({

            navHeight:statusNavBarHeight,

            imgTop:statusNavBarHeight-45,

            cityTop:statusNavBarHeight-45-25

        })

一、设置自定义顶部导航

Navigation是小程序的顶部导航组件,当页面配置 navigationStyle 设置为 custom 的时候可以使用此组件替代原生导航栏。

1全局顶部导航自定义,在appjson的“window”里添加"navigationStyle": "custom"

2只在某一个页面自定义顶部导航,在该页面的json文件里添加"navigationStyle": "custom"

二、具体的导航块根据需要自行书写

以上就是关于小程序为什么引入头部导航条会把原来的页面替换掉全部的内容,包括:小程序为什么引入头部导航条会把原来的页面替换掉、请问怎么样才能在小程序里边实现底部导航栏的设置啊、小程序动态加载底部导航(根据不同角色展示不同导航栏)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9776436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存