抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

export default {} 里的内容,是页面的主要逻辑代码。包括几部分:

  1. data:template 模板中需要使用的数据。
  2. 页面生命周期:如页面加载、隐藏、关闭,具体 见下
  3. methods 方法,如按钮点击、屏幕滚动
  4. computed 计算属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script>
export default {
data() {
return {
title: "点我", // 定义绑定在页面上的data数据
// 多个data在这里继续定义。逗号分隔
}
},
onLoad() {
// 页面启动的生命周期,这里编写页面加载时的逻辑
this.helloWorld();
},
// 多个页面生命周期监听,在这里继续写。逗号分隔
methods: {
buttonClick: function () {
this.title = "被点了"
},
helloWorld: function () {
alert("Hello World");
this.test();
},
test() {
alert("hello");
}
// 多个方法,在这里继续写。逗号分隔
},
computed: {
// 计算属性
}
};
</script>

生命周期

函数名 说明 平台差异说明 最低版本
onInit 监听页面初始化,其参数同 onLoad 参数,为上个页面传递的数据,参数类型为 Object(用于页面传参),触发时机早于 onLoad 百度小程序 3.1.0+
onLoad 监听页面加载,该钩子被调用时,响应式数据、计算属性、方法、侦听器、props、slots 已设置完成,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参),参考示例。
onShow 监听页面显示,页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面
onReady 监听页面初次渲染完成,此时组件已挂载完成,DOM 树 ($el) 已可用,注意如果渲染速度快,会在页面进入动画完成前触发
onHide 监听页面隐藏
onUnload 监听页面卸载
onResize 监听窗口尺寸变化 App、微信小程序、快手小程序
onPullDownRefresh 监听用户下拉动作,一般用于下拉刷新,参考示例
onReachBottom 页面滚动到底部的事件(不是 scroll-view 滚到底),常用于下拉下一页数据。具体见下方注意事项
onTabItemTap 点击 tab 时触发,参数为 Object,具体见下方注意事项 微信小程序、QQ 小程序、支付宝小程序、百度小程序、H5、App、快手小程序、京东小程序
onShareAppMessage 用户点击右上角分享 微信小程序、QQ 小程序、支付宝小程序、抖音小程序、飞书小程序、快手小程序、京东小程序
onPageScroll 监听页面滚动,参数为 Object nvue 不支持
onNavigationBarButtonTap 监听原生标题栏按钮点击事件,参数为 Object App、H5
onBackPress 监听页面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack 表示来源是 uni.navigateBack;详见 app、H5、支付宝小程序
onNavigationBarSearchInputChanged 监听原生标题栏搜索输入框输入内容变化事件 App、H5 1.6.0
onNavigationBarSearchInputConfirmed 监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的 “搜索” 按钮时触发。 App、H5 1.6.0
onNavigationBarSearchInputClicked 监听原生标题栏搜索输入框点击事件(pages.json 中的 searchInput 配置 disabled 为 true 时才会触发) App、H5 1.6.0
onShareTimeline 监听用户点击右上角转发到朋友圈 微信小程序 2.8.1+
onAddToFavorites 监听用户点击右上角收藏 微信小程序、QQ 小程序 2.8.1+

参考资料

  1. 页面 | uni-app 官网

概述

uni-app 支持标准的 CSS 样式属性,本文档整理了常用的 CSS 属性,按功能分类便于查阅。

布局相关属性

Flexbox 布局

属性 说明
display 设置元素显示类型
flex flex 项目的缩放比例
flex-basis flex 项目的初始主尺寸
flex-direction flex 容器主轴方向
flex-flow flex-direction 和 flex-wrap 的简写
flex-grow flex 项目的放大比例
flex-shrink flex 项目的缩小比例
flex-wrap flex 项目换行方式
justify-content 主轴上的对齐方式
align-items 交叉轴上的对齐方式
align-content 多行在交叉轴上的对齐方式
align-self 单个项目在交叉轴上的对齐方式

定位属性

属性 说明
position 元素定位方式
top 元素距离顶部的距离
right 元素距离右侧的距离
bottom 元素距离底部的距离
left 元素距离左侧的距离
z-index 元素的堆叠顺序

尺寸属性

属性 说明
width 元素宽度
height 元素高度
max-width 最大宽度
min-width 最小宽度
max-height 最大高度
min-height 最小高度
box-sizing 盒模型计算方式

概述

在 uni-app 中,容器组件用于布局和组织页面内容。

组件 说明
<view> 基本的视图容器,类似于 HTML 的 <div>
<scroll-view> 可滚动的视图容器,支持横向和纵向滚动
<swiper> 轮播图容器,用于实现图片或内容的轮播效果
<movable-view> 可移动的视图容器,支持拖拽操作
<cover-view> 覆盖在地图或视频等组件上的视图容器
<cover-image> 覆盖在地图或视频等组件上的图片容器

<view> 组件

如果使用 nvue,则需注意,包裹文字应该使用 <text> 组件。

1
2
3
<view class="container">
<text>Hello, uni-app!</text>
</view>

属性

属性 类型 默认值 说明
hover-class String none 指定按下去的样式类。当 hover-class=“none” 时,没有点击态效果
hover-start-time Number 50 按住后多久出现点击态,单位毫秒。默认 50ms,ios 上建议设置为 0ms,安卓上建议设置为 50ms
hover-stay-time Number 400 手指松开后点击态保留时间,单位毫秒。默认 400ms,ios 上建议设置为 300ms,安卓上建议设置为 400ms
hover-stop-propagation Boolean false 是否阻止本节点的祖先节点出现点击态

<scroll-view> 组件

<template> 部分

<template> 部分是 Vue 组件的模板部分,用于定义组件的结构和布局。它使用类似 HTML 的语法来描述组件的 UI。

<style> 部分

<style> 部分用于定义组件的样式。可以使用普通的 CSS,也可以使用预处理器如 SCSS、LESS 等。通过添加 scoped 属性,可以使样式仅作用于当前组件,避免样式冲突。

<script> 部分

<script> 部分是 Vue 组件的逻辑部分,用于定义组件的行为和数据。它使用 JavaScript 语法来编写组件的逻辑,包括数据定义、方法、生命周期钩子等。

在 Vue 中引入 SCSS,需要安装 sass-embedded,然后在 vue.config.js 中配置 scss

由于在快速开始这一章里面,我们通过 vue@latest 的项目生成工具生成 Vue 项目的基本架构,并且通过 npm run dev 命令启动项目,可以看到一个 Vue 的页面,尽管如此,这基本架构一键生成的页面文件对初学者来说很不友好,所以我们需要删除一些文件,从而开始学习 Vue。

Vue 的快速开始可以参考 Vue.js 的快速开始

至于为什么我要写 Vue 的教程,这得感谢 Vue.js 的官方教程,给我看到了写 Vue 教程的动力。

引言

东南大学有生存指南,二工大也不能落下。在这里,我会从里到外,从外到里,从里到里,从外到外,从浅到深,从深到浅,从浅到浅,从深到深地写一份。

某学校有 N 个学生,形成 M 个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据 “我的朋友的朋友也是我的朋友” 这个推论可以得出,如果 A 和 B 是朋友,且 B 和 C 是朋友,则 A 和 C 也是朋友。请编写程序计算最大朋友圈中有多少人。

输入格式

输入的第一行包含两个正整数 N(≤30000)和 M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的 M 行每行按以下格式给出 1 个俱乐部的信息,其中学生从 1~N 编号:

第 i 个俱乐部的人数 Mi(空格)学生 1(空格)学生 2 … 学生 Mi

输出格式

输出给出一个整数,表示在最大朋友圈中有多少人。

输入样例

1
2
3
4
5
7 4
3 1 2 3
2 1 4
3 5 6 7
1 6

输出样例

前因

由于我需要使用远程桌面,好吧,其实 ToDesk 也没什么不好,只是因为用了 Zerotier 组网以后,就不想用 ToDesk 了。

操作

  1. 首先,你要在相关的专业版帖子、知乎文章搜索一个可用的激活码。这里有一篇文章点击进入
  2. 然后输入激活码,等待计算机更新完成。
  3. 等待重启完成
  4. 输入指令 irm massgrave.dev/get | iex
  5. 选择 [1]
  6. 激活成功

成果

在这里插入图片描述

后记

  1. 更新速度或许会慢一些,耐心等待即可。
  2. 从家庭版走向专业版不会重装计算机,只是安装一些新的软件而已。