指甲分层是什么原因| 百合是什么意思| 景色奇异的异是什么意思| 夺目的什么| nary是什么牌子的手表| 扁桃体发炎看什么科| 子宫内膜息肉有什么症状| 为非作歹是什么意思| 变更是什么意思| 1450是什么意思| 尿隐血挂什么科| 2008年什么年| 毒奶粉是什么游戏| 黄豆吃多了有什么坏处| 女人小腹痛什么原因| 撕脱性骨折什么意思| 孤魂野鬼是什么生肖| 什么是粒子| 残疾证有什么好处| 紫藤花什么时候开花| bpo是什么意思| 错峰是什么意思| 水为什么是透明的| 嗓子疼是什么原因| 红红火火是什么意思| 梦见一坨屎是什么意思| 磁共振和核磁共振有什么区别| 尘螨是什么| 是什么符号| 什么鸡没有毛| 一日清闲一日仙是什么生肖| rpr是什么意思| 潦倒是什么意思| 素来是什么意思| 双手发麻是什么病的前兆| 特别容易饿是什么原因| 农历六月十七是什么星座| poc是什么| 任正非用的什么手机| 吃什么会长胖| 维生素b2有什么作用和功效| 增加免疫力吃什么好| 什么时候阅兵| 厌男症的表现是什么| 5月28号是什么日子| 复刻版是什么意思| 脸上长癣是什么原因造成的| 什么叫集体户口| 迥异是什么意思| 胀气是什么症状| 银耳长在什么地方| 阴道口疼是什么原因| 打玻尿酸有什么副作用吗| 血冲脑是什么原因引起| 质感是什么意思| 闻思修是什么意思| 早上起来嘴巴发苦是什么原因| 该说不说的是什么意思| 什么的窟窿| 毅力是什么意思| 婕字五行属什么| 梦见扫墓是什么预兆| 鸡奸是什么意思| 1880年是什么朝代| 基因突变发生在什么时期| 什么是蚕豆病| 梦见袜子破了是什么意思| 麟是什么意思| 印堂发黑是什么征兆| 语迟则人贵是什么意思| 不倒翁是什么意思| 磨牙是缺什么| 屁股疼挂什么科室| 欢五行属什么| 胸部痛是什么原因| 百分点是什么意思| 心衰吃什么食物好| 尿检红细胞高是什么原因| 宫腔内异常回声是什么意思| 为什么要冬病夏治| 四物汤什么时候喝最好| 牙齿黄用什么牙膏| 太阳穴胀痛是什么原因| 双肺多发结节是什么意思| 圣女是什么生肖| 呲牙咧嘴是什么意思| 西洋参和人参有什么区别| 火钳刘明什么意思| 燕窝什么人不适合吃| 电器发生火灾用什么灭火器| 鱼在鱼缸底部不动为什么| 戊型肝炎是什么病| 什么是邪淫| 低度鳞状上皮内病变是什么意思| 十月6号是什么星座| 充盈是什么意思| 3月14号是什么星座| 为什么印度人叫阿三| 挂钟挂在客厅什么位置好| 什么人容易得甲亢| 蓝色妖姬的花语是什么| 天蝎座女和什么星座最配| 宝宝支气管炎吃什么药| 微博会员有什么功能| 夏天喝什么汤| 什么叫变态| 什么是讨好型人格| 紫米和黑米有什么区别| 酊是什么意思| 包茎挂什么科| 舍本逐末是什么意思| 鸡与什么生肖相合| 发小是什么| 幽门杆菌吃什么药最好| 什么是阴虚什么是阳虚| 头部MRI检查是什么意思| 嚼槟榔为什么上瘾| 宝宝咳嗽有痰吃什么药效果好| 为什么脸上总是出油| 说你什么好| 呸是什么意思| 灰指甲有什么特效药可以治好| 晚上为什么睡不着| 屁股长痘痘是什么原因| 气血亏虚什么症状| 痛风频繁发作说明什么| 胎盘后壁是什么意思| 胃不好适合吃什么水果| 眼压高滴什么眼药水| 洗牙挂什么科| 土人参长什么样| 为什么会有颈纹| 什么是乳腺增生| 区委副书记是什么级别| 张信哲为什么不结婚| 出台什么意思| 七月十九是什么星座| 晚上睡觉咬牙齿是什么原因| 什么啤酒好| 满城尽带黄金甲是什么意思| 吃什么皮肤会变白| 骨盐量偏低代表什么| 南什么北什么的成语| 龟头炎是什么症状| 鳊鱼吃什么食物| 文武双全是什么生肖| 手爱出汗是什么原因| 脖子上有肿块挂什么科| 喝豆浆有什么好处| 小肚鸡肠是什么意思| 循序渐进什么意思| 神经是什么| 血压低挂什么科| 粉底和气垫的区别是什么| 怕热爱出汗是什么原因| 积劳成疾的疾是什么意思| 护士规培是什么意思| 12五行属什么| 缺铁性贫血吃什么补血最快| 牙虫长什么样子| 胃下面是什么器官| 急诊是什么意思| 三伏贴能治什么病| lot是什么| 易激惹是什么意思| 上海副市长什么级别| 低烧是什么病的前兆| 什么是属性| 魔芋是什么东西| 女人适合喝什么茶最好| 下面老是痒是什么原因| 9月9日什么星座| 芦根煮水的功效是什么| 六味地黄丸主治什么| 阴灵是什么意思| 吃伟哥有什么副作用| 掂过碌蔗是什么意思| 和珅属什么生肖| 榄仁是什么| 肠梗阻吃什么药| igm是什么意思| 赢字五行属什么| 人性是什么| 377是什么意思| 左肾小囊肿是什么意思| 挚友是什么意思| 医保和农村合作医疗有什么区别| 妇科腺肌症是什么病| aivei是什么品牌| 怀孕不能吃什么东西| 苏铁属于什么植物| b1是什么意思| 咳嗽吃什么水果| 兰精莫代尔是什么面料| 什么食物含维生素c最多| 怀孕为什么会引起甲亢| 梦字五行属什么| 女性什么时候退休| 浑身疼吃什么药管用| 肺结节是一种什么病| 甲减有什么症状| 减肥吃什么瘦的快| 生长激素由什么分泌| usp是什么意思| 小孩拉肚子应该吃什么食物好| 小五行属性是什么| 打胎用什么药| 不安腿是什么症状| 逸搏心律什么意思| 前白蛋白是什么意思| 占有欲什么意思| 胃寒胃凉吃什么药| 人巨细胞病毒是什么病| 尿崩症吃什么药最有效| 李五行属性是什么| 骨加后念什么| 手指盖空了是什么原因| 香港什么时候回归| 痞满是什么意思| 运动减肥为什么体重不减反增| 11月29是什么星座| 什么是共济失调| 金命适合什么颜色| bpa是什么| 什么是嗳气有何症状| 旺字五行属什么| 小猫什么时候断奶| 尿道口流白色液体是什么病| rp是什么意思| 螺旋幽门杆菌吃什么药治疗好| 五行缺金是什么命| kms是什么药| 烂脚丫用什么药能治除根| 牙龈变黑是什么原因| 苹果a1661是什么型号| 三月27号是什么星座| 粉饼和散粉有什么区别| 蟑螂长什么样子| 打篮球对身体有什么好处| 什么都没有| 39年属什么生肖| 大健康是什么意思| 舌头苦是什么原因| 六安瓜片是什么茶| 淋巴细胞偏高是什么原因| 凌晨三点醒是什么原因| 百鸟归巢什么意思| 宫腔镜是什么检查| 宝贝是什么意思| 北京市副市长什么级别| 间羟胺又叫什么| 菩提根是什么材质| 小孩发烧挂什么科| 小鸭吃什么| 农历七月初六是什么星座| 呼吸内科主要看什么病| 乌龟肺炎用什么药| 张飞的兵器是什么| 染发膏用什么能洗掉| 大姑姐最怕弟媳什么| 小儿外科主要看什么病| 9月16号是什么星座| 交友是什么意思| 精神支柱是什么意思| 百度

《格斗之皇》绿色度测评报告

百度 于是,一种焦灼情绪就这样蔓延开来了,关于相亲角的挞伐之声再次响起。

? 在上一章中,我们通过开发者工具快速创建了一个 QuickStart 项目。你可以留意到这个项目里边生成了不同类型的文件:

  1. .json 后缀的 JSON 配置文件
  2. .wxml 后缀的 WXML 模板文件
  3. .wxss 后缀的 WXSS 样式文件
  4. .js 后缀的 JS 脚本逻辑文件

接下来我们分别看看这4种文件的作用。

# JSON 配置

JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。

我们可以看到在项目的根目录有一个 app.jsonproject.config.json,此外在 pages/logs 目录下还有一个 logs.json,我们依次来说明一下它们的用途。

# 小程序配置 app.json

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。QuickStart 项目里边的 app.json 配置内容如下:

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  }
}

我们简单说一下这个配置各个项的含义:

  1. pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
  2. window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。

其他配置项细节可以参考文档 小程序的配置 app.json

# 工具配置 project.config.json

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。

考虑到这点,小程序开发者工具在每个项目的根目录都会生成一个 project.config.json,你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。

其他配置项细节可以参考文档 开发者工具的配置

# 页面配置 page.json

这里的 page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置。

如果你整个小程序的风格是蓝色调,那么你可以在 app.json 里边声明顶部颜色是蓝色即可。实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等。

其他配置项细节可以参考文档 页面配置

# JSON 语法

这里说一下小程序里JSON配置的一些注意事项。

JSON文件都是被包裹在一个大括号中 {},通过key-value的方式来表达数据。JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。

JSON的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined。

  1. 数字,包含浮点数和整数
  2. 字符串,需要包裹在双引号中
  3. Bool值,true 或者 false
  4. 数组,需要包裹在方括号中 []
  5. 对象,需要包裹在大括号中 {}
  6. Null

还需要注意的是 JSON 文件中无法使用注释,试图添加注释将会引发报错。

# WXML 模板

从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。

同样道理,在小程序中也有同样的角色,其中 WXML 充当的就是类似 HTML 的角色。打开 pages/index/index.wxml,你会看到以下的内容:

<view class="container">
  <view class="userinfo">
    <button wx:if="{{!hasUserInfo && canIUse}}"> 获取头像昵称 </button>
    <block wx:else>
      <image src="{{userInfo.avatarUrl}}" background-size="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

HTML 非常相似,WXML 由标签、属性等等构成。但是也有很多不一样的地方,我们来一一阐述一下:

  1. 标签名字有点不一样

    往往写 HTML 的时候,经常会用到的标签是 div, p, span,开发者在写一个页面的时候可以根据这些基础的标签组合出不一样的组件,例如日历、弹窗等等。换个思路,既然大家都需要这些组件,为什么我们不能把这些常用的组件包装起来,大大提高我们的开发效率。

    从上边的例子可以看到,小程序的 WXML 用的标签是 view, button, text 等等,这些标签就是小程序给开发者包装好的基本能力,我们还提供了地图、视频、音频等等组件能力。

    更多详细的组件讲述参考下个章节 小程序的能力

  2. 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式

    在网页的一般开发流程中,我们通常会通过 JS 操作 DOM (对应 HTML 的描述产生的树),以引起界面的一些变化响应用户的行为。例如,用户点击某个按钮的时候,JS 会记录一些状态到 JS 变量里边,同时通过 DOM API 操控 DOM 的属性或者行为,进而引起界面一些变化。当项目越来越大的时候,你的代码会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此就有了 MVVM 的开发模式(例如 React, Vue),提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOMJS 只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

    小程序的框架也是用到了这个思路,如果你需要把一个 Hello World 的字符串显示在界面上。

    WXML 是这么写 :

    <text>{{msg}}</text>
    

    JS 只需要管理状态即可:

    this.setData({ msg: "Hello World" })
    

    通过 {{ }} 的语法把一个变量绑定到界面上,我们称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要 if/else, for等控制能力,在小程序里边,这些控制能力都用 wx: 开头的属性来表达。

更详细的文档可以参考 WXML

# WXSS 样式

WXSS 具有 CSS 大部分的特性,小程序在 WXSS 也做了一些扩充和修改。

  1. 新增了尺寸单位。在写 CSS 样式时,开发者需要考虑到手机设备的屏幕会有不同的宽度和设备像素比,采用一些技巧来换算一些像素单位。WXSS 在底层支持新的尺寸单位 rpx ,开发者可以免去换算的烦恼,只要交给小程序底层来换算即可,由于换算采用的浮点数运算,所以运算结果会和预期结果有一点点偏差。

  2. 提供了全局的样式和局部样式。和前边 app.json, page.json 的概念相同,你可以写一个 app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。

  3. 此外 WXSS 仅支持部分 CSS 选择器

更详细的文档可以参考 WXSS

# JS 逻辑交互

一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等等。在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作。

<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>

点击 button 按钮的时候,我们希望把界面上 msg 显示成 "Hello World",于是我们在 button 上声明一个属性: bindtap ,在 JS 文件里边声明了 clickMe 方法来响应这次点击操作:

Page({
  clickMe: function() {
    this.setData({ msg: "Hello World" })
  }
})

响应用户的操作就是这么简单,更详细的事件可以参考文档 WXML - 事件

此外你还可以在 JS 中调用小程序提供的丰富的 API,利用这些 API 可以很方便的调起微信提供的能力,例如获取用户信息、本地存储、微信支付等。在前边的 QuickStart 例子中,在 pages/index/index.js 就调用了 wx.getUserInfo 获取微信用户的头像和昵称,最后通过 setData 把获取到的信息显示到界面上。更多 API 可以参考文档 小程序的API

通过这个章节,你了解了小程序涉及到的文件类型以及对应的角色,在下个章节中,我们把这一章所涉及到的文件通过 “小程序的框架” 给 “串” 起来,让他们都工作起来。

茄子有什么功效和作用 吉士粉是什么东西 五合是什么意思 眩晕挂什么科室 枫字五行属什么
干戈指什么 楠字取名有什么寓意 松茸是什么东西 交会是什么意思 肛门疼痛是什么原因引起的
贫血补什么 慢是什么意思 痔疮是什么引起的 什么食物降血压 故什么意思
牛肉不能和什么食物一起吃 一个点是什么意思 耕的左边读什么 痘痘反复长是什么原因 舒服的意思是什么
met是什么意思hcv9jop6ns3r.cn 十二指肠球部溃疡a1期是什么意思sscsqa.com 人突然瘦了要检查什么hcv8jop5ns3r.cn 胸闷气短挂什么科室hcv9jop4ns6r.cn 淋巴结节什么症状hcv8jop9ns0r.cn
狸猫是什么动物hcv9jop0ns9r.cn 恶露是什么意思hcv8jop6ns1r.cn 普洱茶属于什么茶类hcv9jop1ns3r.cn 你喜欢我什么hcv8jop6ns9r.cn 6.18是什么星座hcv7jop6ns4r.cn
吃什么食物排湿气hcv9jop4ns3r.cn 金银花有什么作用hcv8jop1ns6r.cn 自省是什么意思zhiyanzhang.com 掐是什么意思hcv9jop6ns0r.cn 九二共识是什么hcv9jop8ns2r.cn
乐话提醒业务是什么意思hcv7jop6ns7r.cn 孩子口臭是什么原因hcv8jop7ns9r.cn 便秘吃什么菜有助排便hcv7jop4ns8r.cn timing是什么意思hcv9jop5ns6r.cn 柠檬酸钠是什么hcv9jop3ns3r.cn
百度