官方开发文档:

https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html

需要去微信公众平台注册开发账号:

mp.weixin.qq.com

然后APPID的位置在这里:

左侧菜单栏【开发】——【开发管理】
卡片栏目项【开发设置】中

微信小程序的目录结构

└─miniprogram-1
│ app.js 小程序的逻辑
│ app.json 当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等
│ app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。
│ project.config.json 项目配置文件,做一些个性化配置,例如界面颜色、编译配置等等
│ sitemap.json 配置小程序及其页面是否允许被微信索引

├─pages 里面包含一个个具体的页面
│ ├─index
│ │ index.js 页面逻辑
│ │ index.json 页面配置
│ │ index.wxml 页面结构
│ │ index.wxss 页面样式
│ │
│ └─logs
│ logs.js 页面逻辑
│ logs.json 页面配置
│ logs.wxml 页面结构
│ logs.wxss 页面样式

└─utils
util.js 存放公共方法或者公共变量

快速创建页面的办法

直接在page.json里面追加页面路径,工具会自动生成对应文件

{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle":"black"
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}

View 标签属性

属性 类型 默认值 必填 说明 最低版本
hover-class string none 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 1.0.0
hover-stop-propagation boolean false 指定是否阻止本节点的祖先节点出现点击态 1.5.0
hover-start-time number 50 按住后多久出现点击态,单位毫秒 1.0.0
hover-stay-time number 400 手指松开后点击态保留时间,单位毫秒 1.0.0

hover-class测试:

html

<view hover-class="boxHover">view样式测试</view>

css

.boxHover {
background-color: red;
}

可以看到是作为一个class来识别的,在这个元素点击时触发样式效果

原始Hover的效果是扶上去触发

<view hover-class="boxHover" class="box">view样式测试</view>

css

.box:hover {
background-color: blue;
}

hover-stop-propagation 测试

<view class="father" hover-class="a">
这是父元素
<view class="son" hover-class="b">这是子元素</view>
</view>

css

.father {
width: 100px;
height: 100px;
background-color: gainsboro;
}
.a {
background-color: red;
}
.son {
width: 100px;
height: 50px;
background-color: pink;
}
.b {
background-color: yellowgreen;
}

点击子元素会触发A和B两个一起的效果,为了不让父元素触发,就可以设置这个属性:

<view class="father" hover-class="a">
这是父元素
<view class="son" hover-class="b" hover-stop-propagation="true">这是子元素</view>
</view>

这样父节点事件不触发了

hover-start-time 测试
<view class="father" hover-class="a">
这是父元素
<view class="son" hover-class="b" hover-stop-propagation="true" hover-start-time="500">这是子元素</view>
</view>

设置延迟时间,毫秒值单位,在事件监听到,开始指定的毫秒值之后开始触发

默认值50

hover-stay-time 测试

这个是设置CSS样式效果的持续时间,默认400

<view class="father" hover-class="a">
这是父元素
<view class="son" hover-class="b" hover-stop-propagation="true" hover-start-time="500" hover-stay-time="3000">这是子元素</view>
</view>

Text 标签属性

属性 类型 默认值 必填 说明 最低版本
selectable boolean false 文本是否可选 (已废弃) 1.1.0
user-select boolean false 文本是否可选,该属性会使文本节点显示为 inline-block 2.12.1
space string   显示连续空格 1.4.0
decode boolean false 是否解码 1.4.0

selectable 属性已经弃用了,这里设置了以下发现确实文本还是不能选中

<view>
<text selectable="true">这是一段演示文本</text>
</view>

改用下面这个User-Select

<view>
<text user-select="true">这是一段演示文本</text>
<text user-select="true">这是一段演示文本</text>
<text user-select="true">这是一段演示文本</text>
</view>

space意思是是否显示连续空格,值有几种类型:

一般文档解析是不会展示连续的空格

说明 最低版本
ensp 中文字符空格一半大小  
emsp 中文字符空格大小  
nbsp 根据字体设置的空格大小
<view>
<text user-select="true" space="emsp">这是一段 演 示 文 本</text>
</view>

decode 解码,对特殊字符是否转义的处理

<view>
<text>这是一段&nbsp; &lt;演示文本</text>
</view> <view>
<text decode>这是一段&nbsp; &lt;演示文本</text>
</view>

Image 图标标签

https://developers.weixin.qq.com/miniprogram/dev/component/image.html

基础用法:

<view>
<!-- 使用 / 表示从项目根目录作为开始路径 -->
<image src="/images/pig.jpg" />

<!-- 或者从本文件所在目录作为开始路径 -->
<image src="./../../images/pig.jpg" />
</view>

Navigator 页面跳转

https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html
属性 类型 默认值 必填 说明 最低版本
target string self 在哪个目标上发生跳转,默认当前小程序 2.0.7
url string   当前小程序内的跳转链接 1.0.0
open-type string navigate 跳转方式 1.0.0
delta number 1 当 open-type 为 'navigateBack' 时有效,表示回退的层数 1.0.0
app-id string   target="miniProgram"时有效,要打开的小程序 appId 2.0.7
path string   target="miniProgram"时有效,打开的页面路径,如果为空则打开首页 2.0.7
extra-data object   target="miniProgram"时有效,需要传递给目标小程序的数据,目标小程序可在 App.onLaunch()App.onShow() 中获取到这份数据。详情 2.0.7
version string release target="miniProgram"时有效,要打开的小程序版本 2.0.7
short-link string   target="miniProgram"时有效,当传递该参数后,可以不传 app-id 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 2.18.1
hover-class string navigator-hover 指定点击时的样式类,当hover-class="none"时,没有点击态效果 1.0.0
hover-stop-propagation boolean false 指定是否阻止本节点的祖先节点出现点击态 1.5.0
hover-start-time number 50 按住后多久出现点击态,单位毫秒 1.0.0
hover-stay-time number 600 手指松开后点击态保留时间,单位毫秒 1.0.0
bindsuccess string   target="miniProgram"时有效,跳转小程序成功 2.0.7
bindfail string   target="miniProgram"时有效,跳转小程序失败 2.0.7
bindcomplete string   target="miniProgram"时有效,跳转小程序完成 2.0.7
<view>
<view>
<navigator url="/pages/pageA/pageA">to PageA 1</navigator>
<navigator url="./../pageA/pageA">to PageA 2</navigator>
<navigator url="/pages/pageB/pageB">to PageB 1</navigator>
<navigator url="./../pageB/pageB">to PageB 2</navigator>
</view>
</view>

目录文件:

└─miniprogram-1
│ app.js
│ app.json
│ app.wxss
│ project.config.json
│ sitemap.json

├─images
│ pig.jpg

├─pages
│ ├─index
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ ├─logs
│ │ logs.js
│ │ logs.json
│ │ logs.wxml
│ │ logs.wxss
│ │
│ ├─pageA
│ │ pageA.js
│ │ pageA.json
│ │ pageA.wxml
│ │ pageA.wxss
│ │
│ └─pageB
│ pageB.js
│ pageB.json
│ pageB.wxml
│ pageB.wxss

└─utils
util.js

路径是定位到页面的目录下面的同名内容,框架因该是做了些文件读取的处理

不允许访问外部网络资源:

<navigator url="https://www.baidu.com/">to Baidu</navigator>

跳转方式:

open-type string navigate 跳转方式

值种类:

open-type 的合法值

说明 最低版本
navigate 对应 wx.navigateTo 或 wx.navigateToMiniProgram 的功能  
redirect 对应 wx.redirectTo 的功能  
switchTab 对应 wx.switchTab 的功能  
reLaunch 对应 wx.reLaunch 的功能 1.1.0
navigateBack 对应 wx.navigateBack 的功能 1.1.0
exit 退出小程序,target="miniProgram"时生效 2.1.0

默认是使用Navigator,详细见文档内容

滚动区域:

这是一个横向展示案例:

     <scroll-view scroll-x="true">
<view class="out">
<view class="box">1</view>
<view class="box">2</view>
<view class="box">3</view>
<view class="box">4</view>
<view class="box">5</view>
</view>
</scroll-view>

css:

.box {
display: inline-block;
width: 120px;
height: 60px;
background-color: red;
text-align: center;
line-height: 60px;
margin: 10px;
color: white;
font-weight: bolder;
flex : 0 0 100px;
} .out {
border: 1px solid yellow;
display: flex;
flex-wrap: nowrap;
}

包含在内部的元素需要撑破机型的X轴Y轴限制才可以实现

设置scroll-left初始滑动偏移量:

     <scroll-view scroll-x="true" scroll-left="120">
<view class="out">
<view class="box">1</view>
<view class="box">2</view>
<view class="box">3</view>
<view class="box">4</view>
<view class="box">5</view>
</view>
</scroll-view>

设置纵向滑动案例:

html

     <scroll-view scroll-y="true" scroll-left="120" class="out">
<view class="box">1</view>
<view class="box">2</view>
<view class="box">3</view>
<view class="box">4</view>
<view class="box">5</view>
</scroll-view>

css

.box {
width: 120px;
height: 60px;
background-color: red;
text-align: center;
line-height: 60px;
margin: 10px;
color: white;
font-weight: bolder;
} .out {
border: 1px solid yellow;
height: 200px;
}

实际上发现,直接在滑动区域里面加元素就行了

【微信小程序】01 入门的更多相关文章

  1. 微信小程序开发入门教程

    做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...

  2. 微信小程序初使心得【微信小程序快速入门】

    摘要: 2016年推出微信小程序,时至今日,历经几个版本的更新,已形成了相对实用和稳定的服务平台.本文简单的介绍了微信小程序的入门用法,今后会继续关注和实践. 2016年推出微信小程序,时至今日,历经 ...

  3. 原创:从零开始,微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...

  4. 利用WordPress REST API 开发微信小程序从入门到放弃

    自从我发布并开源WordPress版微信小程序以来,很多WordPress网站的站长问有关程序开发的问题,其实在文章:<用微信小程序连接WordPress网站>讲述过一些基本的要点,不过仍 ...

  5. 微信小程序开发入门(一)

     小程序学习入门--(一) 最近自己学习微信小程序的过程当中自己总结出来的知识点,我会不断地更新和完善! 小程序的开发工具 一台电脑 熟悉HTML.CSS.JS基本语法 开发工具: 微信web开发者工 ...

  6. 微信小程序开发入门教程(三)---小程序云开发支付功能

    支付(shoukuan)功能真的很重要!由于我还没有商户号,以下代码未实际验证 1.服务端 进入云开发,新建云函数pay(应该也可以在开发者工具编写后上传) 编写后端代码index.js这里用到第三方 ...

  7. 微信小程序开发-入门到熟练(wepy-初级篇)

    Title:最近做完了项目,review代码的同时,就想写一篇详细的小程序开发经历,记录自己的项目从0到1的过程 Desc : 小程序从0到1,从小白到完成项目,你需要这样做: step1: 基础知识 ...

  8. 微信小程序开发入门与实践

    基础知识---- MINA 框架 为方便微信小程序开发,微信为小程序提供了 MINA 框架,这套框架集成了大量的原生组件以及 API.通过这套框架,我们可以方便快捷的完成相关的小程序开发工作. MIN ...

  9. 从零开始:微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习: 一:微信小程序的特点 张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使 ...

  10. 微信小程序基础入门

    准备 Demo 项目地址 https://github.com/zce/weapp-demo Clone or Download(需准备GIT环境) $ cd path/to/project/root ...

随机推荐

  1. .Net Core 部署IIS

    我相信很多人看了其他的贴子,都没有成功部署,因为里面有很多暗坑.接下来博主就一步一步给大家讲明白,带领大家部署 先基本的发布 操作:右击web项目的<发布>按钮.选文件 配置发布属性    ...

  2. vue组件 定义全局组件

    组件 (Component) 是 Vue.js 最强大的功能之一,它是html.css.js等的一个聚合体. 组件化 将一个具备完整功能的项目的一部分分割多处使用 加快项目的进度 可以进行项目的复用 ...

  3. linux系统下,安装redis教程,以redis 6.2.6为例

    1.下载安装包 手动下载:进入官网选择下载版本https://download.redis.io/releases/ 命令下载: cd /usr/local wget http://download. ...

  4. ABC346

    D 枚举是哪一位相同,情况为 \(00\) 还是 \(11\),然后用前缀和和后缀和求一下即可. \(pre_{j,i}\) 表示第一位为 \(j\),前 \(i\) 位的每两个相同的字符均不相同的情 ...

  5. 小米 红米 Redmi MIUI14 ANDROID 系统 耗电

    小米 红米 Redmi MIUI14 ANDROID 系统 耗电 在系统更新里,点右上角三点,下载完整更新包,安装好.再把电量用到关机,充电,充满开机,别拔线,继续充10分钟.我就是这么解决的,今天用 ...

  6. k8s 安装ingress nginx controller 并部署.net core ingress服务

    k8s 安装ingress nginx controller 并部署.net core ingress服务 本地k8s集群概览 192.168.28.132 k8smaster 192.168.28. ...

  7. Yapi部署到kubernetes(k8s)--Azure AKS

    背景 找来找去都没找到简单方便的部署yapi到k8s的教程,就自己写了个: 本教程部署的版本是: 1.10.2 部署步骤 克隆仓库: git clone https://github.com/gebi ...

  8. socket 端口复用 SO_REUSEPORT 与 SO_REUSEADDR

    背景 在学习 SO_REUSEADDR 地址复用的时候,看到有人提到了 SO_REUSEPORT .于是也了解了一下. SO_REUSEPORT 概述 SO_REUSEPOR这个socket选项可以让 ...

  9. 【Python】用Python把从mysql统计的结果数据转成表格形式的图片并推送到钉钉群

    ** python把数据转为图片 / python推送图片到钉钉群 ** 需求:通过python访问mysql数据库,统计业务相关数据.把统计的结果数据生成表格形式的图片并发送到钉钉群里. 一:Cen ...

  10. 重复消费Java Stream的三种方法。你选择哪种?

    Java中的Stream一旦被消费就会关闭,不能再次使用了.如果的确有需要该怎么办呢? 这里介绍三种重复消费Stream的方法. 1. 从集合再次创建 这里你都不用往下继续看就知道该怎么办,不过我还是 ...