微信小程序简单入门1

参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html
1  创建项目
开发者工具安装完成后,打开并使用微信扫码登录。选择创建“项目”,填入上文获取到的 AppID ,(无appid直接选择)设置一个本地项目的名称(非小程序名称),比如“我的第一个项目”,并选择一个本地的文件夹作为代码存储的目录,点击“新建项目”就可以了。
为方便初学者了解微信小程序的基本代码结构,在创建过程中,如果选择的本地文件夹是个空文件夹,开发者工具会提示,是否需要创建一个 quick start 项目。选择“是”,开发者工具会帮助我们在开发目录里生成一个简单的 demo。

 

2 创建页面
目录结构
我们有两个页面,index 页面和 logs 页面,即欢迎页和小程序启动日志的展示页,他们都在 pages 目录下。微信小程序中的每一个页面的【路径+页面名】都需要写在 app.json 的 pages 中,且 pages 中的第一个页面是小程序的首页。
utils:入口文件

3 逻辑层
代码结构
index.wxml是xml格式,用于界面布局,类似于html,很多标签直接使用的就是html标签;
<view class="warp">

<view class="title">aaaaaaa</view>
<view class="cTime">2016-10-25 14:28</view>
<view class="img"><image src="../../images/1.png" 
class="in-img" background-size="cover" model="scaleToFill"></image></view>
<view class="content">驻马店位于河南中南部北接漯河南临信阳地处淮河上游的丘陵平原地区,
,因历史上南来北往的信使,官宦在此驻驿歇马而得名,驻马店承东启西,贯南通北,素有豫州之腹地,
天下之最中的美称.
</view>
<view class="close" bindtap="closepage"> 返回 </view>
</view>
view标签相当于div;
index.wxss是css样式定义,语法与css是一样的;
/**app.wxss**/
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
index.js是js文件,定义了事件处理过程(是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。)。将界面布局与处理代码分离,看起来比较干净简单。
//app.js
App({
onLaunch: function () {
//调用API从本地缓存中获取数据
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
},
getUserInfo:function(cb){
var that = this;
if(this.globalData.userInfo){
typeof cb == "function" && cb(this.globalData.userInfo)
}else{
//调用登录接口
wx.login({
success: function () {
wx.getUserInfo({
success: function (res) {
that.globalData.userInfo = res.userInfo;
typeof cb == "function" && cb(that.globalData.userInfo)
}
})
}
});
}
},
globalData:{
userInfo:null
}
})
app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
注册页面
每个页面必须在此处注册,不然无法编译
做个小页面
1,建一个新页面
建.wxml文件
<view class="about">
<view class="about-wei">
<view class="about-img"><image src="" class="in-img" background-size="cover" model="scaleToFill"></image></view>
<view class="about-title">千峰科技有限公司</view>
</view>
<view class="about-content">驻马店位于河南中南部北接漯河南临信阳地处淮河上游</view>

<view class="about-addr">
<view class="about-tab">联系方式</view>
<view>地址:</view>
<view>联系电话:</view>
<view>商务合作:</view>
</view>
</view>
建.js(必须有)
//获取应用实例
var app = getApp()
Page({
data: {
motto: 'Hello',
userInfo: {}
},
//事件处理函数
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
console.log('onLoad')
var that = this
//调用应用实例的方法获取全局数据
app.getUserInfo(function(userInfo){
//更新数据
that.setData({
userInfo:userInfo
})
})
}
})
样式控制.wxss
.userinfo {
display: flex;
flex-direction: column;
align-items: center;
}

.userinfo-avatar {
width: 128rpx;
height: 128rpx;
margin: 20rpx;
border-radius: 50%;
}

.userinfo-nickname {
color: #aaa;
}

.usermotto {
margin-top: 200px;
}
关于样式:
尺寸单位
  • rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

rem(root em): 规定屏幕宽度为20rem;1rem = (750/20)rpx 
外部样式引入:
使用语句可以导入外联样式表,后跟需要导入的外联样式表的相对路径,用表示语句结束。
示例代码:
/** common.wxss **/
.small-p {
padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
padding:15px;
}
内联样式:
  • style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。

<view style="color:red;" />

注意:小程序里面对于代码规范很严格,空标记必须有结束标记,结束时分号等必须写完整,不然报错
全局样式与局部样式
定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。

转载于:https://www.cnblogs.com/wyfeng1/p/6028295.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode数组汇总_LeetCode刷题实战118:杨辉三角

算法的重要性&#xff0c;我就不多说了吧&#xff0c;想去大厂&#xff0c;就必须要经过基础知识和业务逻辑面试算法面试。所以&#xff0c;为了提高大家的算法能力&#xff0c;这个公众号后续每天带大家做一道算法题&#xff0c;题目就从LeetCode上面选 &#xff01;今天和大家…

位运算使奇数+1 偶数-1_C ++程序打印从1到N的所有偶数和奇数

位运算使奇数1 偶数-1Problem: Take input from the user (N) and print all EVEN and ODD numbers between 1 to N. 问题&#xff1a;从用户那里输入(N)&#xff0c;并打印1至N之间的所有偶数和奇数编号。 Solution: 解&#xff1a; Input an integer number (N). 输入一个整…

javascript 模块化机制

1. 概述 js发展初期暴露了其缺陷&#xff1a;缺乏模块&#xff0c;后来提出了commonJS规范来规范其模块的规范。作为JavaScript新手&#xff0c;发现对于其JavaScript的模块机制&#xff0c;不是很理解。我查阅了一些资料整理了JavaScript CommonJS的原理和机制。 2. JavaScrip…

c语言 宏定义 去除宏定义_如何检查是否在C中定义了宏?

c语言 宏定义 去除宏定义To check whether a Macro is defined or not in C language – we use #ifdef preprocessor directive, it is used to check Macros only. 要检查是否用C语言定义了宏 -我们使用#ifdef预处理程序指令&#xff0c;它仅用于检查宏。 Syntax: 句法&…

多线程下不能用truncate吗_那么多的化妆品,怀孕后都不能用了吗?

前几天圆梦参加了青岛的美博会&#xff0c;里面的化妆品真多啊&#xff0c;无论是护肤、美白、彩妆比比皆是&#xff0c;看的人眼&#xff08;liu&#xff09;花&#xff08;lian&#xff09;缭&#xff08;wang&#xff09;乱&#xff08;fan&#xff09;。虽说国务院宣布的新…

手机html5性能测试工具,HTML5模块 性能方面8大测试环节_小米 M3_手机硬件频道-中关村在线...

Vellamo作为一款专攻网页浏览性能测试的工具&#xff0c;在这方面的测试环节也相对复杂很多。这一部分在Vellamo的HTML5测试环节中通过14项测试来进行体现&#xff0c;而接下来我们会对着实际个测试项进行相应的介绍。See The Sun Canvas/Pixel Blender测试界面See The Sun Can…

[计算机网络]httpserver--如何解析HTTP请求报文

这个http server的实现源代码我放在了我的github上&#xff0c;有兴趣的话可以点击查看哦。 在上一篇文章中&#xff0c;讲述了如何编写一个最简单的server&#xff0c;但该程序只是接受到请求之后马上返回响应&#xff0c;实在不能更简单。在正常的开发中&#xff0c;应该根据…

python字典副本_如何复制字典并仅在Python中编辑副本?

python字典副本Python never implicitly copies the dictionary or any objects. So, while we set dict2 dict1, were making them refer to the same dictionary object. Hence, even when we mutate the dictionary, all the references made to it, keep referring to the…

英特尔核芯显卡控制面板没有了_核显和独显、集成显卡有什么区别

集成显卡&#xff1a;一般不带有显存&#xff0c;而是使用系统的一部分主内bai存作为显存&#xff0c;具体的数量一般是系统根据需要自动动态调整的。显然&#xff0c;如果使用集成显卡运行需要大量占用内存的空间&#xff0c;对整个系统的影响会比较明显&#xff0c;此外系统内…

徐州初中计算机学校排名2015,徐州初中学校排名,徐州重点初中排名详细榜单

2018年徐州初中学校排名,徐州重点初中排名详细榜单孩子小升初&#xff0c;几乎所有的家长都会陷入纠结&#xff0c;都想为孩子选择一所“好学校”&#xff0c;在择校过程中&#xff0c;家长们总想知道徐州初中学校排名以及徐州重点初中排名详细榜单&#xff0c;但这里小编提醒一…

分布式计算 MapReduce与yarn工作机制

一、第一代hadoop组成与结构第一代Hadoop&#xff0c;由分布式存储系统HDFS和分布式计算框架MapReduce组成&#xff0c;其中&#xff0c;HDFS由一个NameNode和多个DataNode组成&#xff0c;MapReduce由一个JobTracker和多个TaskTracker组成&#xff0c;对应Hadoop版本为Hadoop …

c++ stl队列初始化_创建一个向量,并将其像C ++ STL中的数组一样初始化

c stl队列初始化向量是什么&#xff1f; (What is the vector?) Vector is a container in C STL, it is used to represent array and its size can be changed. Vector是C STL中的一个容器&#xff0c;用于表示数组&#xff0c;并且其大小可以更改。 Read more: C STL Vec…

计算机无法上无线网络连接到internet,电脑连接不上无线网络,教您怎么解决电脑连接不上无线网络...

小编家的那位笔记本姐姐之前可能是受委屈了&#xff0c;一个一个的电脑问题丢出来给我解决。之前有段时间总是出现电脑连接不上无线网络的问题&#xff0c;弄得那短时间天天都在想办法是解决。现在&#xff0c;我就要将这种解决方法分享给你们&#xff0c;让你们在遇到这个问题…

格兰杰因果关系检验_混频(mixed frequency)数据的格兰杰因果(Grange causality)检验及其Matlab实现...

格兰杰和格兰杰因果网络搜到的Grange大神标准照格兰杰1934年9月出生于英国威尔士的斯旺西&#xff0c;早期就读于诺丁汉大学&#xff0c;接受当时英国第一个经济学数学双学位教育&#xff0c;1955年留校任教&#xff0c;1957年在天文学杂志上他发表了第一篇论文&#xff1a;“关…

C#Convert.ToInt32(byte)方法-将字节值转换为int

C&#xff03;Convert.ToInt32(byte)方法 (C# Convert.ToInt32(byte) Method) Convert.ToInt32(byte) Method is used to convert a specific byte value to its equivalent integer (int 32 signed number). Convert.ToInt32(byte)方法用于将特定的字节值转换为其等效的整数(i…

后台窗口截图_万人拥捧的截图软件来啦!让你的工作效率提升不止一倍!

文章来自微信公众号&#xff1a;小七有料直接进入正题&#xff0c;今天不野给大家分享两款截图软件——Snipaste和FastStone Capture&#xff0c;前者与其说是一个截图软件&#xff0c;我更愿意称之为贴图软件。两者都在工作中很大程度提高了我的效率&#xff0c;也简便化了我很…

ibm nvidia 超级计算机,IBM,Nvidia和美国能源部组成一个超级计算机超级团队

CNET技术信息网7月15日国际报道: IBM将与Nvidia和美国能源部合作建立两个新的杰出超级计算机中心. 这项合作的工作主要集中在两个方面&#xff0c;一个是确保应用程序可以充分利用超级计算机的强大性能&#xff0c;另一个是收集开发人员&#xff0c;工程师和科学家的反馈.这两个…

C#Convert.ToInt32(char)方法-将char值转换为int

C&#xff03;Convert.ToInt32(char)方法 (C# Convert.ToInt32(char) Method) Convert.ToInt32(char) Method is used to convert a specific char value to its equivalent integer (int 32 signed number) (It can also be known as ASCII value). Convert.ToInt32(char)方法…

华为p40论坛_华为高端旗舰继续发力!麒麟990 5G+超感知三摄,256GB降价799元

小米10、一加8&#xff0c;vivo NEX3S等高性能旗舰产品现已在市场上发售。其中&#xff0c;5G旗舰华为P40也在销售团队中&#xff0c;并且最近成为最受欢迎的旗舰产品。由于华为P40高端版从799元跌至4189元&#xff0c;消费者可以以不到800元的价格购买低价高性能旗舰产品&…

计算机基础.doc,大学生计算机基础.doc

WORD格式 整理分享范文范例 参考指导电子计算机的诞生1计算机的发展经历了4个时代&#xff0c;各个时代划分的原则是根据( )。A、计算机所采用的电子器件B、计算机的运算速度C、程序设计语言D、计算机的存储量正确答案&#xff1a;A?2世界上第一台电子计算机诞生于( )年。A、1…