uniapp移动端基础介绍

这篇具有很好参考价值的文章主要介绍了uniapp移动端基础介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础介绍



template结构体常识

root节点只能包含一个view标签uniapp移动端基础介绍,uniapp,uni-app
template下包含两个view会报错,只要加一个view把两个view包含起来才不会报错。

css 的引用

如果我们创建自定义的样式文件,例如创建一个/static/scss/cafe.css,想要使其在全局引用。

1、在App.vue中全局引用,每个页面都可以使用该样式。

<style lang="scss">
  @import '@/static/scss/ruoyi.css';
</style>

2、在index.scss中导入,每个页面都可以使用该样式。

@import '@/static/scss/cafe.css';

推荐第二种方式,方便所有的样式文件在index.scss统一管理和维护。

css 的变量

css 变量 描述
–status-bar-height 系统状态栏高度
–window-top 内容区域距离顶部的距离
–window-bottom 内容区域距离底部的距离

注意:

  • var(--status-bar-height)此变量在微信小程序环境为固定25px,在App里为手机实际状态栏高度。
  • 当设置"navigationStyle":"custom"取消原生导航栏后,由于窗体为沉浸式,占据了状态栏位置。此时可以使用一个高度为var(--status-bar-height)的 view 放在页面顶部,避免页面内容出现在状态栏。
  • 由于在 H5 端,不存在原生导航栏和 tabbar,也是前端 div 模拟。如果设置了一个固定位置的居底 view,在小程序和 App 端是在 tabbar 上方,但在 H5 端会与 tabbar 重叠。此时可使用--window-bottom,不管在哪个端,都是固定在 tabbar 上方。
  • 目前 nvue 在 App 端,还不支持--status-bar-height变量,替代方案是在页面 onLoad 时通过uni.getSystemInfoSync().statusBarHeight获取状态栏高度,然后通过 style 绑定方式给占位 view 设定高度。下方提供了示例代码

代码示例

<template>
  <page-meta>
    <navigation-bar />
  </page-meta>
  <view>
    <view class="status_bar">
      <!-- 这里是状态栏 -->
    </view>
    <view>状态栏下的文字</view>
  </view>
</template>
<style>
  .status_bar {
    height: var(--status-bar-height);
    width: 100%;
  }
</style>
<template>
  <view>
    <view class="toTop">
      <!-- 这里可以放一个向上箭头,它距离底部tabbar上浮10px-->
    </view>
  </view>
</template>
<style>
  .toTop {
    bottom: calc(var(--window-bottom) + 10px);
  }
</style>

nvue 页面获取状态栏高度

<template>
  <view class="content">
    <view :style="{ height: iStatusBarHeight + 'px'}"></view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        iStatusBarHeight: 0,
      };
    },
    onLoad() {
      this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
    },
  };
</script>

js的引用

如创建/utils/cafe.js

export function hello() {
  alert('hello')
}

在其他页面使用hello方法

<script>
  import { hello } from  '@/utils/cafe.js'

  export default {
    onLoad: function() {
      hello()
    }
  };
</script>

内联样式

框架组件上支持使用style、class属性来控制组件的样式。

style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。

<view :style="{color:color}" />

class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。

<view class="normal_view" />

全局方法

全局方法在main.js定义,如/utils/permission.js,把checkPerm、checkRole方法注册到全局使用。

import { checkPermi, checkRole } from './utils/permission'

Vue.prototype.checkPermi = checkPermi
Vue.prototype.checkRole = checkRole

测试验证

<view v-if="checkRole(['admin'])">角色权限控制</view>
<view v-if="checkPermi(['system:user:list'])">按钮权限控制</view>

全局变量机制

全局变量机制globalData,支持全端通用。
以下是 App.vue 中定义globalData的相关配置:

<script>  
  export default {  
    globalData: {  
      text: 'text'  
    }
  }  
</script>  

其他页面获取方式

console.info(getApp().globalData.text);

修改globalData变量的方式如下:getApp().globalData.text = 'cafe'

注意
globalData是简单的全局变量,如果使用状态管理,请使用vuex(main.js中定义)

屏幕尺寸单位

uni-app支持的通用css单位包括px、rpx

  • px即屏幕像素
  • rpx即响应式px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准,750rpx恰好为屏幕宽度。屏幕变宽,rpx实际显示效果会等比放大 。

vue页面支持下面这些普通H5单位,但在nvue里不支持

  • rem根字体大小可以通过page-meta配置
  • vh viewpoint height,视窗高度,1vh等于视窗高度的1%
  • vw viewpoint width,视窗宽度,1vw等于视窗宽度的1%

使用sass编写样式

style中 添加lang属性,这样就可以支持scss样式编译了文章来源地址https://www.toymoban.com/news/detail-822070.html

<template>
  <view class="content">
    <view class="item">
      <view class="title">若依移动端</view>
      <view class="count">520</view>
    </view>
  </view>
</template>

<style lang="scss">
  .item {
    .title {
      background-color: #0066CC;
    }

    .count {
      background: black;
      color: #FFF;
    }
  }
</style>

到了这里,关于uniapp移动端基础介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • uni-app 可视化创建的项目 移动端安装调试插件vconsole

    uni-app 可视化创建的项目 移动端安装调试插件vconsole

     可视化创建的项目,在插件市场找不到vconsole插件了。 又不好npm install vconsole 换个思路,先创建一个cli脚手架脚手架的uni-app项目,然后再此项目上安装vconsole cli脚手架创建uni-app项目 安装插件 项目Terminal运行命令:npm install vconsole   安装完成之后,插件在node_modules/vconsol

    2024年02月10日
    浏览(13)
  • Uni-App开发框架介绍

    Uni-App开发框架介绍

    Uni-App是一家公司(DCloud)产品,公司承诺将一直开源且免费。 公司旗下有4个产品: HBuilder X:开发工具 uni-app:跨平台统一框架 uniCloud:云服务提供商 uniMPsdk:Mobile端sdk,用于接入uni-app开发的模块 主要盈利方式是uni-ad(广告业务)和unicloud(云服务商) 一次编写,多端运行 小程

    2024年02月12日
    浏览(11)
  • uni-app 开发调试自动打开手机屏幕大小界面(Aidex移动端开发项目)

    uni-app 开发调试自动打开手机屏幕大小界面(Aidex移动端开发项目)

    上效果: 下载Aidex的移动端项目并打开: 若依-ruoyi-AiDex-Uniapp: 若依-Ruoyi APP 移动解决方案,基于uniapp+uView封装的一套基础模版,开箱即用,免费开源,一份代码多终端适配,支持H5、支付宝小程序、微信小程序、APP,实现了与ruoyi-vue后台完美对接的移动解决方案,可直接开始

    2024年02月22日
    浏览(12)
  • 2. uni-app的一些介绍

    2. uni-app的一些介绍

    就目前的前端生态而言,跨端开发基本算是每一个前端开发者必备的技能点之一了,而在Vue这个技术栈里uni-app在跨端是独一档的,不信的话可以翻翻Boss之类的招聘网站.... 阅读时间: 约5~10分钟; 本文重点: 通过本文你可以知道uniapp是什么; 技术栈、入门难度等等; 我们该

    2024年04月24日
    浏览(14)
  • Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案

    Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案

    1. Webstorm uni-app语法插件 : Uniapp Support Uniapp Support - IntelliJ IDEs Plugin | Marketplace 第一个是不收费,第二个收费 我选择了第二个 Uniapp Support ,有试用30天,安装重启webstorm之后,可以提高生产率。 补充 有小伙伴说搜索不到插件,目前webstorm 2022.3版本还能搜到2个: # Uniapp Tool  

    2024年02月11日
    浏览(171)
  • 【uni-app教程】四、UniAPP 路由配置及页面跳转

    uni-app 页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。类似小程序在 app.json 中配置页面路由一样。所以 uni-app 的路由用法与 Vue Router 不同,如仍希望采用 Vue Router 方式管理路由,可在插件市场搜索 Vue-Router。 uni-app 有两种页面路由跳转

    2024年01月16日
    浏览(12)
  • 【UniApp】-uni-app-项目实战页面布局(苹果计算器)

    【UniApp】-uni-app-项目实战页面布局(苹果计算器)

    经过前面的文章介绍,基本上 UniApp 的内容就介绍完毕了 那么从本文开始,我们就开始进行一个项目的实战 这次做的项目是苹果计算器,这个项目的难度不是很大,但是也不是很简单,适合练手 打开 HBuilderX,点击左上角 文件 - 新建 - 项目 : 项目创建完毕之后,首先来分析

    2024年02月04日
    浏览(45)
  • Uni-app基础

    Uni-app基础

    Uni-app基础 uni-app是一个使用Vue.js开发跨平台应用的前端框架;开发者编写一套代码,uni-app将其编译到iOS、Android、微信小程序等多个平台,保证其正确运行并达到优秀体验。 1.推荐使用软件Hbuilder X 下载地址:HBuilderX-高效极客技巧 (1)启动小程序  (2)启动小程序  1.微信公

    2023年04月08日
    浏览(9)
  • uni-app--》常用组件的相关介绍

    uni-app--》常用组件的相关介绍

    🏍️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生 🛵个人主页:亦世凡华、 🛺系列专栏:uni-app 🚲座右铭:人生亦可燃烧,亦可腐败,我愿燃烧,耗尽所有光芒。 👀引言         ⚓经过web前端的学习,相信大家对于前端开发有了一定深入的

    2023年04月17日
    浏览(8)
  • uni-app小程序实现音频播放,uniapp播放录音,uniapp简单实现播放录音

    uni-app小程序实现音频播放,uniapp播放录音,uniapp简单实现播放录音

    复制到.vue文件即可预览效果 问题 :开发者工具中.onTimeUpdate方法可能会失效! 官方参考:https://uniapp.dcloud.net.cn/api/media/audio-context.html# 其他博客参考:https://blog.csdn.net/weixin_45328705/article/details/114091301 录音实现参考 :https://blog.csdn.net/weixin_43992507/article/details/129857780

    2024年02月12日
    浏览(116)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包