一.WXML模板语法

1.1 数据绑定

  • 绑定内容

跟vue差不多,在页面的js文件定义到data里面

然后通过插值语法用在wxml中即可

  • 绑定属性

    直接写上插值语法,没有:

  • 三元运算

    生成一个十以内的随机数

  • 算数运算

1.2 事件绑定

小程序常用事件

小程序事件对象常用属性

target和currentTarget的区别,target是触发事件的源头组件,而currentTarget是当前触发这个事件的组件

要绑定一个事件只需要在组件上写上事件类型以及对应的回调函数

然后回调函数写在对应的js文件里面,没有什么包裹直接写在外层

1.2.1 修改data数据

这里修改data里面的数据,需要在函数里面来改,而且改的方式有点不同,利用了 this.setData这个方法,里面为一个对象可以对data里面的一些值做一些操作,听说这个方式是react的

1.2.2 事件传参

注意小程序传参数,不能写在事件回调的括号里面,这样写只会被当做事件名

要传参的话,需要在这个组件里面来一个自定义属性,data-什么的形式,其中什么就是你的参数名,值为一个插值语法

然后要拿参数的话就通过 e.target.dataset.参数名获取

1.2.3 bindinput语法格式

首先组件绑定事件

然后注意这里收集值,不是通过e.target而是e.detail

1.2.4 文本框与data之间的数据同步

首先data定义数据,然后文本框绑定数据

然后就是修改值改到数据里面,通过bindinput事件来修改

1.3 条件渲染

通过wx:if来控制,当然也有对应的elif和else

1.3.1 block标签

类似于template可以包裹一组标签,让他们集体显示隐藏,而且最主要的他会不暂用空间布局

1.3.2 hidden

可以直接用hidden控制组件显示隐藏,注意为true是隐藏

hidden和wxif区别:hidden就是v-show(display:block/none),wxif就是直接将元素干掉了

1.4 列表渲染

wx:for

需要注意的是索引和值都通过里面的插值语法获得,这里就偏向于模板引擎多一点

当然我们也可以自定义索引的名字和变量名

wxfor也需要key,没有id也可以直接写index索引,注意key不用写插值语法

二.WXSS模板样式

wxss和css大部分相同,主要区别是 rpx单位和@import样式引入

2.1 rpx

小程序独有尺寸单位,类似于rem,可以适配任意端。

是将宽度分为750份,所以所有屏幕的宽度都是750rpx,只是某些手机1rpx大一点某些手机1rpx小一点

单位换算

推荐采用iPhone6作为设计尺寸来做,因为直接px乘以2就是rpx单位

2.2 样式导入

2.3 全局样式/局部

定义在app.wxss里面的即为全局样式

在单独文件里面wxss都是局部样式只对当前页面生效

注意:

当两个样式冲突时,就近原则,局部会覆盖全局

当局部样式权重大于或等于全局时才会覆盖

三.全局配置

app.json就是全局配置文件

首先默认有这些设置项

而我们小程序组成部分是

3.1 window

首先window中比较常用的配置项

注意导航栏背景颜色只支持#开头的颜色

上拉触底距离就是当我们滑动页面下面会刷新数据出来比如电商网站一直滑下面,滚动条到一定距离就会刷新下面的数据,小程序默认为50

3.1.1 tabBar

最少两个最多五个

顶部tabBar不会显示icon只会显示文本

tabBar六个组成部分:

tabBar节点配置项:

直接添加在app.json里面即可

注意

  • list为必填项

    每一个tab又可以写这些配置

四.页面配置

每个页面自己的json文件

对当前页面的窗口外观等进行配置

页面配置常用属性:

五.网络数据请求

注意:

  • 只能请求https开头的接口
  • 必须将接口的域名添加到信任列表中

5.1 配置request合法域名

5.2 发起get请求

wx.request()

post同理,并且参数也是data

5.3 页面刚加载时请求数据

在js里面找到钩子onLoad在这类请求数据

5.4 注意

跳过request合法校验:

但是仅能在开发调试阶段使用,不允许上线使用!

关于跨域和ajax:

由于跨域是因为浏览器的同源策略,而小程序宿主是微信,所以小程序不存在跨域问题

然后由于ajax是基于xhr这个浏览器的对象,小程序的宿主是微信,所以发起请求也不能叫做ajax请求叫做发起网络请求

六.本地生活案例

注意:

接口返回来的数据可以通过this.setData给到我们的data数据

day02模板与配置的更多相关文章

  1. ElasticSearch 模板文件配置

    首先是推荐一下参考资料 中文资料:http://kibana.logstash.es/content/elasticsearch/index.html 官方文档:https://www.elastic ...

  2. CC.NET模板简化配置

    [Hello CC.NET]巧用模板简化配置 从 <[Hello CC.NET]CC.NET 实现自动化集成> 到 <[Hello CC.NET]自动化发布时 Web.config ...

  3. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  4. smarty模板的配置

    smarty下载: http://www.smarty.net/download   建议使用一个兼容性好的smary版本. 太新的版本往往对php的版本支持不好.   php推荐使用的模板是:sma ...

  5. Jenkins中Jelly邮件模板的配置

    [链接]Jenkins中Jelly邮件模板的配置http://blog.csdn.net/hwhua1986/article/details/47975237

  6. CentOS7.5模板机配置

    CentOS7.5模板机配置 标签(空格分隔): linux学习知识整理 Mr.Wei's notes! 人一定要有梦想,没有梦想那根咸鱼有什么区别: 即便自己成为了一条咸鱼,也要成为咸鱼里最咸的那一 ...

  7. tp5 模板参数配置(模板静态文件路径)

    tp5 模板参数配置(模板静态文件路径) // 模板页面使用 <link rel="stylesheet" type="text/css" href=&q ...

  8. 【Hello CC.NET】巧用模板简化配置

    从 <[Hello CC.NET]CC.NET 实现自动化集成> 到 <[Hello CC.NET]自动化发布时 Web.config 文件维护> ,大神在评论里提到的方案还没 ...

  9. 关于xml作为模板的配置服务系统开发

    最近在做一个后台配置系统,其实之前也接触过,所谓的配置系统就是指,将你的网站布局抽象成一个xml模板,里面包括你自定义的节点,然后将变化的部分作为配置项,通过服务将配置选项与模板组装成一个js(这个服 ...

  10. php Smarty模板引擎配置与测试

    Smarty简介 smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页 ...

随机推荐

  1. WEB服务与NGINX(6)-location使用详解

    目录 1. location的详细用法 1.1 精确匹配 1.2 区分大小写 1.3 不区分大小写 1.4 匹配URI开始 1.5 测试location的优先级 1.6 location的生产使用示例 ...

  2. GPS坐标、火星坐标、百度坐标之间的转换--提供javascript版本转换代码

    1.国内几种常用坐标系说明 WG-S84: GPS仪器记录的经纬度信息,Google Earth采用,Google Map中国范围外使用,高德地图中国范围外使用.GCJ-02: 火星坐标系,中国国家测 ...

  3. 记录一次uniapp使用scrollview

    在uni-app框架下,使用scroll-view进行下拉加载时,不要设置 scroll-top 或者 scroll-left 否则会出现,页面抖动的情况

  4. uniapp底层跨端原理

    uniapp底层跨端原理 - 代码编写:开发者使用Vue.js框架编写uniapp的代码,包括页面结构.样式和逻辑等. - 编译过程:在编译过程中,uniapp会将Vue.js的代码转换为各个平台所需 ...

  5. [Unity] 实现AssetBundle资源加载管理器

    实现Unity AssetBundle资源加载管理器 AssetBundle是实现资源热更新的重要功能,但Unity为其提供的API却十分基(jian)础(lou).像是自动加载依赖包.重复加载缓存. ...

  6. 记录一次WhatTheFuck经历

    起因 很早之前就一直在维护一个git仓库,平时调研什么组件就会在里面新建一个springboot的工程用来编写示例代码. 最一开始使用的是SpringInitializr,后来网站更新之后,只能生成J ...

  7. vue-i18n 初体验

    vue-i18n 初体验 使用vue,如何国际化呢?采用 vue-i18n.(i18n,internationalization,i和n中间省略18个字符) vue-i18n 官网地址 https:/ ...

  8. 3分钟部署 我的世界(Minecraft) 联机服务

    游戏简介 我的世界(Minecraft)是一款沙盒类电子游戏,该游戏以玩家在一个充满着方块的三维空间中自由地创造和破坏不同种类的方块为主题.玩家在游戏中可以在单人或多人模式中通过摧毁或创造精妙绝伦的建 ...

  9. php分页查询 子查询

     分页查询                 将查询结果只显示一部分                 通过两个参数:参数1 起始数据的索引下标                             参 ...

  10. vitepress使用createContentLoader时遇到["vitepress" resolved to an ESM file. ESM file cannot be loaded by `require`.]报错

    在使用vitepress构建一个所有博客的概览页的时候,使用到了createContentLoader这个api,但是在index.data.ts中定义并导出后,在md文件中调用遇到了下面这个问题: ...