微信小程序开发入门篇(二),Java架构师成长路线

时间:2024-11-17 08:09:56

}

})

view中的内容为 3 + 3 + d

  • 逻辑判断

  • 字符串运算

{{“hello” + name}}

Page({

data: {

name: ‘MINA’

}

})

1.1.5、修改数据

Page({

/**

  • 页面的初始数据

*/

data: {

msg: ‘大林’

},

/**

  • 生命周期函数–监听页面加载

*/

onLoad: function (options) {

console.log(this); // this代表当前页面的实例对象

(); // 大林

// 修改 msg 的状态数据,语法

({

msg: ‘修改之后的大林’

})

},

}

在这里插入图片描述

onLoad: function (options) {

(this); // this代表当前页面的实例对象

(); // 大林

// 修改 msg 的状态数据,语法

setTimeout(()=>{

({

msg: ‘修改之后的大林’

})

},2000)

},

如果我们使用定时器延时 2s 然后进行修改,那么 2s 后依然会修改数据

1.2、条件渲染


1.2.1、wx:if

  • 使用 wx:if="" 来判断是否需要渲染该代码块:

大林1

大林2

--------------

大林3

大林4

也可以用 wx:elifwx:else 来添加一个 else 块:

周一

周二

周三

周四

周五

周六

错误

1.2.3、block wx:if

  • 因为 wx:if 是一个控制属性,需要将它添加到一个标签上。

  • 如果要一次性判断多个组件标签,可以使用一个 <block/> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。

view1

view2

view3

注意: <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

1.3、列表渲染


1.3.1、wx:for

  • 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

  • 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

{{index}}|{{item}}

Page:({

data: {

listArr:[“java”,“Go”,“web”,“python”,“C++”]

}

})

  • 使用 wx:for-index 可以指定当前元素的变量名

  • 使用 wx:for-item 可以指定当前元素的变量名

{{i}}|{{item}}

在这里插入图片描述

如果我们 data 中的数据是对象类型

{{}} - {{}}

Page:({

data: {

listObj: [

{

title:“标题”,

time:“2021-09-18”

},{

title:“标题2”,

time:“2021-09-18”

},{

title:“标题3”,

time:“2021-09-18”

}

]

}

})

1.3.2、wx:key

  • 我们在使用 wx:for 时,最好加一个 wx:key='*this'

  • 或者加一个 wx:key="index"

{{}} - {{}}

{{}} - {{}}

2、WXSS样式

==========================================================================

2.1、小程序适配方案


  • 小程序适配单位:rpx (responsive pixel 响应式像素单位)

  • 规定任何屏幕下宽度为 750rpx

  • 在iPhone 6 下 1rpx = 0.5px,小程序会根据屏幕的宽度不同自动计算 rpx 值的大小

  • 我们一般设计规范都是依据 iPhone 来设计的,也就是说平时 UI 设计师给出的 1px 我们写代码时要写 0.5rpx。(也就是用 px / 2 来得到我们对应的 rpx 大小)。

2.2、样式导入


使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

/** **/

.small-p {

padding:5px;

}

/** **/

@import “”;

.middle-p {

padding:15px;

}

2.3、内联样式


框架组件上支持使用 style、class 属性来控制组件的样式。

  • style:静态的样式统一写道 class 中。
  • class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。

目前支持的选择器有:

| 选择器 | 样例 | 样例描述 |

| — | — | — |

| .class | .intro | 选择所有拥有 class=“intro” 的组件 |

| #id | #firstname | 选择拥有 id=“firstname” 的组件 |

| element | view | 选择所有 view 组件 |

| element, element | view, checkbox | 选择所有文档的 view 组件和所有的 checkbox 组件 |

| ::after | view::after | 在 view 组件后边插入内容 |

| ::before | view::before | 在 view 组件前边插入内容 |

需要注意的是小程序是不支持通配符 *

3、事件

======================================================================

事件分为冒泡事件和非冒泡事件:

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

例如:我们使用 bindtap 来绑定事件

点击

Page({

clickParent(){

(“Parent”)

},

clickChild(){

(“child”)

},

})

在这里插入图片描述

如果我们使用 catchtap 来绑定事件

点击

Page({

clickParent(){

(“Parent”)

},

clickChild(){

(“child”)

},

})

在这里插入图片描述

总结:

  • bind 绑定:事件绑定不会阻止冒泡事件向上冒泡
  • catch 绑定:事件绑定可以阻止冒泡事件向上冒泡

3.1、事件分类


事件分为冒泡事件和非冒泡事件:

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

WXML的冒泡事件列表:

| 类型 | 触发条件 |

| — | — |

| touchstart | 手指触摸动作开始 |

| touchmove | 手指触摸后移动 |

| touchcancel | 手指触摸动作被打断,如来电提醒,弹窗 |

| touchend | 手指触摸动作结束 |

| tap | 手指触摸后马上离开 |

| longpress | 手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发 |

| longtap | 手指触摸后,超过350ms再离开(推荐使用longpress事件代替) |

| transitionend | 会在 WXSS transition 或 动画结束后触发 |

| animationstart | 会在一个 WXSS animation 动画开始时触发 |

| animationiteration | 会在一个 WXSS animation 一次迭代结束时触发 |

| animationend | 会在一个 WXSS animation 动画完成时触发 |

| touchforcechange | 在支持 3D Touch 的 iPhone 设备,重按时会触发 |

  • 官方文档:/miniprogram/dev/framework/view/wxml/

3.2、点击事件bindtap


我们如果想给一个组件定义点击事件,就要用到bindtap,我们给一个组件绑定点击事件的语法如下。

点我

我们给一个组件定义点击事件,主要是给组件定义一个 bindtap=“事件名”,然后再js页面里定义和事件名一样的函数即可。

Page({

click(){

(“点击了按钮”);

},

})

在这里插入图片描述

3.3、获取用户输入信息bindinput


  • 在wxml里定义好bindinput事件以后,在js页面再定义一个和事件名一样的函数即可。

Page({

getContent(options){

(options);

(); // 获取输入框的内容

}

})

在这里插入图片描述

如果我们前端传递一个 data-title 的数据,都存在事件对象的 currentTarget 里面(data-x 属性是H5里面特有的

按钮

在这里插入图片描述

3.4、修改数据


  • 如果要修改 data 里面的数据,必须使用 ({message:'修改之后的数据'},callback)

{{name}}

Page({

data: {

name: ‘大林’

},

click(res){

// 修改数据

({

name: ‘小林’

})

},

})

4、API

=======================================================================

API 非常之多,我们也没有必要每一个都学,来看下我们常用的。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

Docker步步实践

目录文档:

①Docker简介

②基本概念

③安装Docker

④使用镜像:

⑤操作容器:

⑥访问仓库:

⑦数据管理:

⑧使用网络:

⑨高级网络配置:

⑩安全:

⑪底层实现:

⑫其他项目:

5257)]
[外链图片转存中…(img-omA9IAoe-1710756715257)]
[外链图片转存中…(img-uoHJu2jV-1710756715258)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-e46IXmsl-1710756715258)]

Docker步步实践

目录文档:

[外链图片转存中…(img-uATsSiUv-1710756715258)]

[外链图片转存中…(img-uA3aWZDg-1710756715259)]

①Docker简介

②基本概念

③安装Docker

[外链图片转存中…(img-mi4wnN4R-1710756715259)]

④使用镜像:

[外链图片转存中…(img-quYo177A-1710756715259)]

⑤操作容器:

[外链图片转存中…(img-xo9ScqVi-1710756715260)]

⑥访问仓库:

[外链图片转存中…(img-8GLUzMIj-1710756715260)]

⑦数据管理:

[外链图片转存中…(img-4kioLGFj-1710756715260)]

⑧使用网络:

[外链图片转存中…(img-v32XYQKk-1710756715261)]

⑨高级网络配置:

[外链图片转存中…(img-sFqEBpxU-1710756715261)]

⑩安全:

[外链图片转存中…(img-Da28ooSn-1710756715261)]

⑪底层实现:

[外链图片转存中…(img-HDFcDU9l-1710756715262)]

⑫其他项目:

[外链图片转存中…(img-q2DQY3uR-1710756715262)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录