官方开发文档:

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. 基于Vue的二进制时钟组件 -- fx67llBinaryClock

    fx67llClock Easy & Good Clock ! npm 组件说明 一个基于Vue的二进制时钟组件,没什么卵用,做着好玩,可以方便您装饰个人主页 使用步骤 npm install ...

  2. LNMP单机架构

    黄金架构LNMP LNMP是网站架构初期最合适的单体架构.因为初创型技术团队对于技术的选型,需要考虑如下因素 在创业初期,研发资源有限,研发人力有限,技术储备有限,需要选择一个易维护.简单的技术架构: ...

  3. Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

    a.Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能. b.Mybatis 提 供 了 9 种 动 态 sql 标 ...

  4. rust程序设计(4)关于 trait | impl 相关的概念和疑问

    trait是什么? Rust中的trait是一种定义可被多种类型实现的共享行为的方式.它类似于Java或C#中的接口.通过trait,你可以定义一组方法签名(有时包括默认实现),不同的类型可以实现这些 ...

  5. c++ win32 纤程

    Win32纤程是一种轻量级的协程机制,它能够在同一个线程中实现多个线程执行的效果,从而提高了程序的并发性和可伸缩性. 在C++中,可以使用Win32 API中的fiber来实现纤程.以下是一个使用纤程 ...

  6. 《史记 XuYu列传》

    前言 甲辰年二月十九,余记挂友人须臾.大醉,作此篇以悼念故友.忆往昔同窗之情,言语无不有经天纬地之能,举手投足间便可斩敌方上将.能文能武,乃当世之奇才,其言语中有大智慧.(文体并不重要) 吃饭时 Xu ...

  7. tortoisegit 配置ssh登录

    习惯使用小乌龟. 服务器:gitblit 客户端:TortoiseGit 2.13.0.1 (C:\Program Files\TortoiseGit\bin) git version 2.36.1. ...

  8. Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

    为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式. 不然可能需要绕几个弯才能想出来. 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, ...

  9. C#使用RegNotifyChangeKeyValue监听注册表更改的几种方式

    养成一个好习惯,调用 Windows API 之前一定要先看文档 RegNotifyChangeKeyValue 函数 (winreg.h) - Win32 apps | Microsoft Lear ...

  10. Linux查看系统占用

    ## 查看内存占用 #CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 #内存消耗最多的前10个进程 ps auxw|head ...