微信小程序基础(2)

【微信小程序】事件绑定和事件对象 小程序中绑定事件与在网页开发中绑定事件几乎一致,只不过在小程序不能通过on的方式绑定事件,也没有click等事件,小程序中绑定事件使用bind方法,click事件也需要使用tap事件来进行代替bind:事件名bind事件名事件处理函数需要写到.js文件中,在 .js 文件中需要调用小程序提供的 Page 方法来注册小程序的页面,我们可以直接在 Page 方法中创建事件处理函数。 阅读详情

1.小程序事件绑定

⼩程序中绑定事件,通过bind关键字来实现,bindtap,bindinput``bindchange等; 1-1.wxml

<input type="text"  bindinput='handelInput'/>

​ 1-2.js

Page({
    data:{
        num:0
    },
    handelInput(e){
        this.setData{
            num:e.detail.value
        }
    }
})

1-3.注意

​ 1.绑定事件时不能带参数不能带括号以下为错误写法

<input bindinput="handleInput(100)" />

​ 2.2.事件传值通过标签⾃定义属性的⽅式和value

<input bindinput="handleInput" data-item="100" />

​ 2.3事件触发时获取数据

handelInput(e){
     console.log(e.currentTarget.dataset)
       console.log(e.detail.value)  
    }

2.样式wxss

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxss.html

`WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。

​ 与 CSS 相⽐,WXSS 扩展的特性有:

​ 响应式⻓度单位 rpx

​ 样式导⼊

​ 2-1: 尺寸单位

​ rpx :可以根据屏幕宽度进行自适应,规定屏幕的宽度为750rpx;

​ 1rpx=0.5px=1物理像素

在这里插入图片描述

建议:开发微信⼩程序时设计师可以⽤ iPhone6 作为视觉稿的标准。

使⽤步骤:

  1. 确定设计稿宽度 pageWidth

  2. 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth 。

  3. 在less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。

转换rpx的公式:

1px =750rpx/设计稿宽度;

100px=750rpx *100/设计稿宽度

在代码中不能直接写公式

​ 要用calc属性

2-2.样式导入

​ 使⽤ @import 语句可以导⼊外联样式表,只⽀持相对路径。

​ 代码:

/** common.wxss **/
.small-p {
  padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
  padding:15px; 
}

2-3:选择器

​ 注意:微信小程序里面不能使用*

支持的选择器有:

在这里插入图片描述

2-4.小程序中使用less

​ 原生的小程序不支持less,

​ 可以通过以下方法使用less:

​ 1. 编辑器是 vscode

​ 2.安装插件 easy less

​在这里插入图片描述

​ 3.在vscode的设置中加入如下配置

  "less.compile": {
        "outExt":".wxss"
   }

​ 4在要编写样式的地⽅,新建 less ⽂件,如 index.less ,然后正常编辑可。

3.常见的组件

​ view,text,rich,text,button,image,navigator,icon,swiper,radio,checkbox 等;

​ 3-1: view

​ 详细属性配置:https://developers.weixin.qq.com/miniprogram/dev/component/view.html

​ 他代替了原来的div;

 <view hover-class="h-class">
 点击我试试
  </view>

3-2: text

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

​ 他类似于span标签

​ 1. ⽂本标签

​ 2.只能嵌套text

​ 3.⻓按⽂字可以复制(只有该标签有这个功能;

​ 4.可以对空格 回⻋ 进⾏编码

在这里插入图片描述

3-2-1代码:

  <text selectable="{{false}}" decode="{{false}}">
   普&nbsp;通
  </text>

3-3.image

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

​ 注意:图片为了节省内存,把本地图片变成网络图片,使用遇见图床(不需要注册账户)上传图片;

​ 遇见图床:https://www.hualigs.cn/

  1. 图⽚标签,image组件默认宽度320px、⾼度240px

  2. ⽀持懒加载

  3. 属性:

    mode 决定图片内容 如何和图片的大小做适配

    1.scaleToFill 默认值 不包吃曾恒比缩放图 ,使图片的宽高完全拉伸至填满 image 元素

    2.aspectFit 保持宽高比例 一般用来页面的轮播

    3.aspectFill 宽度不变,⾼度⾃动变化,保持原图宽⾼⽐不变

    4.widthFix 宽度不变,高度自适应;

    代码示意:

    <image mode='bottom' src='https://www.hualigs.cn/image/60d12b2b19b71.jpg'/>
    

在这里插入图片描述

mode的有效值:

​ mode 有 13 种模式,其中 4 种是缩放模式,9种是裁剪模式
在这里插入图片描述

3-4.swiper

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

微信内置轮播图组件

步骤:

​ 1.轮播最外层是 swiper

​ 2.每一个轮播 swiper-item

​ 3.swiper 存在默认样式 width:100% height 150px image: 320*24

swiper的height无法由内容撑开

​ 4.找到原图的宽和高 等比 swiper 的宽高

	比如:原图高度和宽度:1140*400 px

	swiper宽度/swiper 高度 =原图的宽度/原图的高度

	 swiper高度 = swiper 宽度 *原图的的高度/原图的宽度

		  height: 750rpx*400 /1140

​ swiper宽度 = swiper 宽度 *原图的的宽度/原图的高度

注意:默认宽度100%,高度150px

5.常见属性:

​ autoplay 自动播放 默认五分钟

interval 修改轮播时间

circular 衔接轮播图

indicator-dots 显示指示器

indicator-color 指示器未选中的颜色 rgba()

indicator-active-color 指示器选中的颜色

代码示意:

<!-- demo.wxml -->
<swiper autoplay interval='1000' circular indicator-dots indicator-color='rgb(00,99,255)' indicator-active-color='#ff0094'>
<swiper-item > <image  mode = '						widthFix'src='https://b.appsimg.com/upload/momin/2021/06/19/177/1624075422101.jpg' ></image></swiper-item>
<swiper-item><image  mode = 'widthFix' src='https://b.appsimg.com/upload/momin/2021/06/19/49/1624089146400.jpg'></image></swiper-item>
<swiper-item><image  mode = 'widthFix' src='https://b.appsimg.com/upload/momin/2021/06/19/49/1624089146400.jpg'></image></swiper-item>
</swiper>

/* demo.wxss */
swiper{
  width:100%;
  height:calc(750rpx*400 /1140)
}
image{
  width:100%;
}

3-5 navigator

导航组件 类似超链接标签 块级元素,默认会换行

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

属性:

​ 1.url 要跳转页面路径 绝对路径和性对路径

​ 2.target 要跳到当前的小程序,换是其他的小程序 self 默认值 自己的小程序

​ miniProgram 跳到其他的小程序

​ 3.open-type 跳转的方式

	 3-1.navigate 默认值 保留当前⻚⾯,跳转到应⽤内的某个⻚⾯,但是不能跳

​ 到tabbar⻚⾯

	3-2. redirect 关闭当前⻚⾯,跳转到应⽤内的某个⻚⾯,但是不允许跳转		

​ 到tabbar⻚⾯。

​ 3-3.switchTab 跳转到tabBar⻚⾯,并关闭其他所有不是tabBar⻚⾯

	 3-4.reLaunch 关闭所有⻚⾯,打开到应⽤内的某个⻚⾯

​ 3-5.navigateBack 和返回按钮类似 关闭当前⻚⾯,返回上⼀⻚⾯或多级⻚

​ ⾯。可通过getCurrentPages()获取当前的⻚⾯栈,决定需要返回⼏层

​ 3-6.exit 退出⼩程序,target= miniProgram生效

代码示意:

<!-- demo/wxml -->
<navigator url='../demo10/demo10'>轮播页面相对路径</navigator>
 <navigator url='/pages/demo10/demo10'>轮播页面 绝对路径</navigator>
 <navigator url='/pages/index/index'>轮播页面  不能跳转到tabbar </navigator>
 <navigator open-type='redirect'url='/pages/demo10/demo10'>redirect 跳转到其他页面不能跳tabbar</navigator>
 <navigator open-type='switchTab' url='/pages/index/index'>switchTab 跳转到tabar</navigator>
 <navigator open-type='reLaunch' url='/pages/demo9/demo9'>reLaunch 可以随便跳</navigator>

3-6 .rich-text

​ 富文本标签

​ 可以将字符串解析成对应标签,类似vue中v–html功能

​ 属性:

​ 1.nodes 属性来实现

		1.接收标签字符串

		 2.接收数组对象

代码示意:

<!--pages/demo12/demo12.wxml-->
 <rich-text nodes="{{html}}"></rich-text>
// pages/demo12/demo12.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // html:"写要渲染的内容"
    // 2.对象数组
    html:[
      {
        //1.div标签 name属性来制定
        name:"div",
        //2.标签上有哪些属性
        attrs:{
          //标签上的属性 class style
          class:'my_div',
          style:"color:red"
        },
        //3子节点 children 要接受的数据类型  nodes的第二种渲染方式的数据类型一样
        children:[
          {
            name:'p',
            attrs:{},
            //放文本
            children:[
              {
                type:"text",
                text:"hello"
              }
            ]
            
          }
        ]
      }
    ]
   
  },

3-6-1.nodes属性

nodes属性⽀持字符串和标签节点数组

在这里插入图片描述

⽂本节点:type=text

在这里插入图片描述
注意:

  • nodes不推荐使⽤String类型,性能会有所下降。
  • rich--text 组件内屏蔽所有节点的事件。
  • attrs属性不⽀持id,⽀持class。
  • name属性⼤⼩写不敏感;
  • 如果使⽤了不受信任的HTML节点,该节点及其所有⼦节点将会被移除。
  • img标签仅⽀持⽹络图⽚。

总结:

  • 学习了小程序的事件绑定,样式引入 有less 和sass;
  • 小程序的功能太强大了;
  • 给开发人员减轻了很大的压力;
别再踩坑了!微信小程序getPhoneNumber获取手机号,基础库2.21.2前后的完整避坑指南(附Java后端解密代码) 本文详细解析微信小程序获取用户手机号的完整流程,重点对比基础库2.21.2版本前后的关键差异,提供Java后端解密实战代码。涵盖code获取机制变化、加密数据包结构差异及错误处理最佳实践,帮助开发者避免常见坑点,实现安全高效的用户手机号获取功能。 阅读详情

相关推荐

微信小程序开发基础(2)

在Page()函数的参数中,可以定义当前页面的生命周期函数。页面的生命周期函数主有onload、onShow、onReady、onHide、onUnload。onLoad页面加载函数。当页面加载完成后调用该函数。-个页面只会调用一次。函数的参数可以获取 wx.navigateTo和wx.redirectTo及<navigator/>中的query。onShow 页面显示函数。当页面显示时调用该函数。每次打开页面都会调用一次。onReady页面数据绑定函数。

weixin_75196106的博客 1748

【小程序教程】微信小程序之事件绑定

微信小程序的事件绑定是非常重要的一部分,它可以让我们的小程序与用户进行交互,实现各种功能,例如点击按钮、滑动页面、输入内容等等。通过本篇博文的介绍,我们了解了微信小程序事件绑定的基本语法和常用的事件类型,学会了如何编写事件处理函数、以及传参和阻止冒泡的方法。在微信小程序中,通过在标签上绑定事件,当用户进行某种操作时,该事件就会被触发,从而执行相应的代码逻辑。在事件绑定中,我们需要定义对应的事件处理函数,当事件被触发时,该函数就会执行。,可以用来获取事件的相关信息,例如。在上面的代码中,当用户点击。

4439

微信小程序进阶实战:getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前版本全流程解析)

本文详细解析了微信小程序在基础库2.21.2之前版本中通过getPhoneNumber获取用户手机号码的全流程实现。从前端按钮配置、JS逻辑处理到后端解密流程,提供了完整的代码示例和避坑指南,帮助开发者高效实现用户手机号获取功能,同时确保数据安全与版本兼容性。

weixin_42524530的博客 265

微信小程序开发---事件的绑定

本文主要介绍的是微信小程序开发中的事件绑定

gaoqiandr的博客 2244

用微信小程序开店之六——小程序组件2:“基础内容”

第六讲:小程序组件2——“基础内容”

一只开坦克的程序猿 697

从仿真到实践:两级直接耦合放大电路的静态工作点协同调试指南

本文详细解析了两级直接耦合放大电路的静态工作点协同调试方法,从仿真到实践提供系统指南。重点介绍了Rc2电阻调整技巧、集电极电位测量方法及常见问题排查,帮助工程师解决各级静态工作点相互影响的难题,提升模拟电路设计效率。

weixin_29189373的博客 124

微信小程序开发系列(十四)·事件绑定的两种方法以及如何读取事件对象

。第一种方式: bind:事件名, bind后面需要跟上冒号,冒号后面跟上事件名,例如: 第二种方式:bind事件名,bind 后面直接跟上事件名,例如:

时光の尘的博客 3877

RK3588部署rtmpose模型

摘要: 本文详细介绍了在RK3588开发板上部署RTMPose模型的全流程。首先在Ubuntu环境中搭建MMCV框架,通过MMPose工具将PTH模型转换为ONNX格式。随后使用RKNN-Toolkit2将ONNX模型转换为RKNN格式,并完成开发板部署。关键步骤包括模型转换(PTH→ONNX→RKNN)、环境配置和推理验证,最终实现人体姿态估计功能。整个过程涉及MMPose、RKNN-Toolkit等工具链的使用,为边缘计算场景下的实时姿态分析提供了可行方案。

qq_44224801的博客 1221

【微信小程序入门到精通】— 事件绑定的详细解读

对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢?为此我特意开设此专栏,在我学习的同时也将其分享给大家!这一篇文章我们就涉及到事件绑定问题了,也就是我们小程序最重要的用户交互问题,我们是如何接收用户触发的信息并且处理的呢?这一篇文章将告诉你答案!如果在往下阅读的过程中,有什么错误的地方,期待大家的指点!大家每天都要开开心心的喔,让我们一起快乐的学习吧!

热爱生活,积极向上的阿酱! 6346

cst-python联合仿真的问题解决

cst与python联合仿真出现无法调用CST的问题解决

ayihu_的博客 2374

MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性

学习到这里,我们有必要做个仿真分析案例,把之前我们学习的零散知识点串起来,看一下在真实的分析中怎么应用。 分析要求:建立8个地面站,分析每个地面站对某个轨道高度500km、倾角60°圆轨道的卫星,1天内的可见次数、可见弧长以及可见弧段间隔列表。 基本约束:地面站仰角8°~90°,作用距离<2000km,太阳矢量与地面站到卫星视线夹角不小于15°,可见弧段应大于30s。地面站站址可随机生成,但要求在南北纬50°范围内。 下面上代码: uiap = actxserver(‘STK11.application’)

ltylty001的博客 7491

微信小程序首次启动出现“请使用 2.2.3 或以上的基础库以使用云能力”

问题:微信小程序首次启动出现“请使用 2.2.3 或以上的基础库以使用云能力” 原因:“调试基础库版本”过低 1、点击“详情” 2、修改调试基础库版本号 欢迎加入 优快云技术交流群2:(点击即可加群)QQ群:456543087 优快云技术交流群(已满员):(点击即可加群)QQ群:681223095。 方便问题讨论。本博主不一定长期...

monica1_1的博客 1万+

cesium加载天地图、OSM、谷歌底图

以上示例是加载矢量底图,若要加载影像或者其他只需要更换相应的url,在WebMapTileServiceImageryProvider中还要更改layer参数。url中’‘vec_w’,一些其他风格,基于CRAT渲染,两种方法效果差别不大。有两种方法加载天地图分别是。对应投影样式,具体可看。还要谷歌的一些卫星底图。

qq_44897914的博客 3001

微信小程序开发实战:getPhoneNumber 旧版基础库(2.21.2前)安全获取手机号全流程解析

本文详细解析了微信小程序开发中,针对基础库2.21.2之前版本,如何安全获取用户手机号的全流程。从旧版接口的背景挑战、前端实现关键步骤到服务端解密核心代码,提供了完整的实战指南和常见问题排查方案,帮助开发者高效解决getPhoneNumber接口的典型问题。

weixin_42697475的博客 199

从飞机翼型仿真到燃烧模拟:Fluent多物理场耦合的3种实战策略

本文深入探讨了Fluent在多物理场耦合仿真中的三种实战策略,涵盖可压缩流动与燃烧耦合、湍流模型选择及网格策略,以及顺序耦合、强耦合和混合耦合方法。通过具体案例和工程实践,帮助中高级用户提升仿真精度和效率,适用于航空航天和能源化工等领域。

aa123的博客 994

获取iOS设备唯一标识UUID(Swift版)

属性返回的UUID是与应用程序相关联的,也就是说,如果用户卸载并重新安装应用程序,该UUID可能会发生变化。如果您需要一个与设备相关的持久唯一标识符,您可以考虑使用Keychain或其他方法来存储和检索设备标识符。在iOS开发中,我们经常需要获取设备的唯一标识符来进行一些特定的操作,比如设备识别、数据追踪等。在本文中,我将向您展示如何使用Swift编程语言获取iOS设备的唯一标识UUID。通过上述代码,您可以在您的iOS应用程序中轻松获取设备的唯一标识符。属性来获取设备的唯一标识UUID。

BitNetO的博客 1919

微信小程序实战-第2章 微信小程序开发基础

本章主要围绕微信小程序的组件、样式、配置文件、数据绑定等内容进行讲解,通过案例将这些知识应用到小程序的开发中,帮助读者掌握小程序的开发基础,并对后面的学习做了铺垫。

andyyah晓波的博客 1382

VMware使用Windows、WinXP等虚拟机上不了网的解决办法(管用)

这个情况一般出现在可以插网线的电脑上,比如台式机和有网线插口的笔记本。需要转换器才能插网线的笔记本一般不会出现这种情况. 查看主机的IP地址和虚拟机的IP地址是否在同一网段,如果在的话,虚拟机就能上网了!!(备注:虚拟机中的IP地址一定要和主机中的用来上网的那个连接的IP地址相同哦)。

爱吃雪糕的小布丁的博客 1万+

微信小程序从基础到实战2

微信小程序从基础到实战2  微信小程序的页面配置详解  *App的页面配置  第一个页面就是程序启动的第一个页面  对照文档看(导航背景颜色等)  *App的窗口配置  *App的tabBar配置  文档中示例代码可用 ,有多种配置可用,配套的属性说明  没有显示底部菜单的原因:配置tabBar启动必须为首页,才能正常...

WWenge_的博客 240

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

微信小程序开发实战2 微信小程序编程基础

2.微信小程序编程基础 2.1小程序目录结构 小程序包含一个描述整体程序的主体部分和多个小程序页面。一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 作用 app.js 小程序的入口文件 app.json 小程序公共配置 app.wxss 小程序公共样式表 表 2-1 小程序主体文件 一个小程序页面由四个文件组成,分别是: <文件 作用> js 页面逻辑文件 wxml 页面描述文件,用来设计页面布局,进行数据绑定等。 jso

haming123的专栏 4823

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

2-微信小程序开发基础

2-1。

2301_78291494的博客 2014

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

微信小程序开发基础知识2

rpx (responsive pixel) 是微信小程序独有的,用来解决屏适配的尺寸单位。使用 WXSS 提供的 @import 语法,可以导入外联的样式表。

weixin_46027901的博客 1801

零基础微信小程序Day2

文章目录一、前言二、WXML三、WXSS四、JS五、结尾 一、前言 从除夕就间断了,过年嘛,每次能写多少是多少呐 ヾ(⌐ ■_■) 咱跟着视频自学,肯定会出现很多问题(毕竟咱就是零基础)那么越往后越发觉前端的老三样(HTML+CSS+JS)是非学不可,所以咱不得不再跳入前端的坑。 但是 我们主线任务是微信小程序,所以结合着学,了解前端东西在微信小程序里面的语法~ 二、WXML 前端: 大盒子(占一行):< div > 、小盒子:< span > 小程序 :大盒子:< view

MODAX的博客 371

第2章 微信小程序开发基础总结

文件有3个app.js逻辑文件app.json公共设置文件app.wxss主样式表文件文件有4个.js逻辑文件.wxml结构文件.wxss样式表文件.json配置文件。

2301_79474431的博客 1270

微信小程序——基础引入2

宿主环境(host environment) 指的是程序运行所必须的依赖环境。而手机微信是小程序的宿主环境,小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,如微信扫码、微信支付、微信登录、etc等。注意:Android 系统和 ios 系统是两个不同的宿主环境,安卓版的微信 App 是不能在 ios 环境下运行的。

Light_shoot的博客 646

微信小程序编辑基础2

微信小程序编辑基础

2301_76841478的博客 270
上一篇: 详细安装微信小程序以及微信小程序基础(1)
下一篇: 微信小程序bug和基础(3)
starry__sty
博客等级 码龄6年 30粉丝 120原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值