暂无个人介绍
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50% 。
经常使用一些循环,进行耗时计算的操作,特别是 for 循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当,将大大提高效率,下面总结几条 for 循环的常见优化方式。
安装好之后, 下一步就开始去来写这个配置文件了,就在这里面去建一个 etc 当中,就是在这个 etc 当中建一个这个 Keepalived 的 config 这样的一个文件:
用远程工具连接我们上次购买的机器,这里我要介绍一个知识点,博主使用的工具是 MobaXterm,这个工具有一个多操作的功能,在下图的位置可以开启多操作,然后连接你的服务器机子即可:
假设我们现在开发了一个应用应用的端口号为 8080,这个应用我们想让它去实现一个负载均衡的访问,就是说我们有两台服务器都部署了我们的 8080 应用,我们想让它一会访问 ip 为: 192.168.0.1 的,一会访问 192.168.0.2 的,我们之前的做法是不是在这两台服务器之上部署一台 Nginx 来进行实现的,如下图:
?> Storage 本地存储,和原生前端开发差不多,单个 Key 允许存储的最大数据长度为 1MB, 所有数据存储上限为 10MB。
然后本人根据官方文档的介绍直接去页面编写了一个按钮,并且监听了这个按钮的点击事件,在事件方法当中调用了微信提供的获取用户位置的API,然后发现不好用啊!
官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html
在之前的文章当中我们都实现了一个功能就是可以从上一个页面传递数据给下一个页面,那么我们能不能从下一个页面传递数据给上一个页面呢,答案是可以的。
官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html
在官方文档当中有提到一个叫做页面栈的这么一个东西,就是一个水杯,进入一个页面就是入到页面栈,退出就是从页面栈当中移除,就会显示下一个页面了。
首先我们需要搭建一个 Tabbar,在搭建之前我们将需要跳转的页面创建一下待会需要使用到。
官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html
!> 组件的生命周期方法编写的位置与页面的生命周期是不一样的,组件生命周期声明是写在 lifetimes 当中
在经过上一篇文章的介绍之后,我们知道了大体的生命周期在什么时候执行,这次主要是以代码的形式来展示一下具体的阶段执行什么生命周期方法。
官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page-life-cycle.html
小程序的运行环境分成渲染层和逻辑层: • WXML 模板和 WXSS 样式工作在渲染层,通过 WebView 进行渲染 • 小程序会为每一个界面都创建一个 WebView 来渲染这个页面 • JS 脚本工作在逻辑层,通过 JsCore 线程运行 JS 脚本 • 这两个线程的通信会经由微信客户端做中转
什么是 behaviors • behaviors 是用于组件间代码共享的特性,类似于一些编程语言中的 “mixins” • 每个 behavior 可以包含一组属性,数据,生命周期函数和方法,组件引用它时,它的属性,数据和方法会被合并到组件中,生命周期函数也会在对应时机被调用。每个组件可以引用多个 behavior,behavior 也可以引用其它 behavior。
如何使用多个插槽 • 如果想要使用多插槽,那么就必须通过 name 属性给每个插槽起一个名称 • 如果想要使用多插槽,那么在添加组件到插槽上的时候,就需要通过 slot="插槽名称" 告诉系统,组件需要添加到哪一个插槽上 • 还有必须在插槽对应的组件的JS文件中,通过 options 中的 multipleSlots: true, 来告诉系统需要开启多插槽
什么是插槽 • 插槽就是一个开放的接口,和现实生活中的 USB 插槽一样 • 通过插槽开放接口之后,接口要连接什么内容由使用者决定 • 所以小程序中,插槽就是一块待替换占位区域,等待使用者使用的时候替换
本文将结合一个案例来带大家熟悉一下博主前面所介绍的知识点,案例效果就是一个 tabar 选项卡的效果:
好了,结构搭建的差不多了,接下来就是来看关键的内容了,首先我们来看一下如何拿到一个自定义组件的实例,有两种方式,这两种方式的前提条件是,给这个组件设置一个标识,设置标识的方式可以是通过类名或者ID进行设置,然后通过这个标识得到组件实例。
在看到此篇文章之前,如果你学习过了 Vue,那么这个内容对你而言就是切菜一样简单,老样子,我们先搭建我们的组件,然后在来看需要介绍的知识点。
在我们自定义组件当中,有时候组件的内容也许的通过 JS 文件里面的 data 数据进行展示的,我们先简单的来搭建一下这个结构:
在我们日常开发当中我们自定义组件的样式都是写在组件目录的 wxss 当中,如果我们想使用外部的样式信息,该如何进行调用呢?
!> 在组件的样式文件中也就是WXSS文件,不能使用 ID 选择器,属性选择器,标签选择器。
HTML5
可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
在我们企业开发当中经常有个人中心等相关需求,这些需求当中有一个功能点就是用户头像信息,这种信息用户可以选择自己手机当中的资源进行上传并保存设置。本章就是来介绍下这种功能在微信小程序当中该如何进行实现。
图片组件。支持 JPG、PNG、SVG、WEBP、GIF 等格式,2.3.0 起支持云文件ID。
我这里废话不多说,很简单就是直接来使用这个组件,说下使用当中的注意点。
icon 组件,想必大家都应该清楚这个是图标组件吧,在微信小程序当中,为我们提供了一套 icon 图标类型。
text 组件:相当于 span,行内元素
内置组件就是,小程序为我们封装好的组件,开发者可以通过组合这些组件进行快速开发。
所需技术点 • 事件的数据传递 • 事件的绑定 • 数据的绑定 • 条件渲染 • 包装元素
在经过上一篇文章的介绍,已经清楚的了解了data与mark的区别,本章将要介绍的也是事件对象当中的两个属性,分别是,touches与changedTouches。
经过之前的文章介绍,我们已经知道了,在事件当中如何进行数据的传递,那么在介绍当中有两种传递方式,那么这两种方式分别有什么区别呢,我们一起来看看吧~
小程序在触发事件监听方法的时候会自动传递一个事件对象给我们,通过这个事件对象我们可以拿到页面传递过来的一些数据。
!> 小程序当中的时间捕获与时间冒泡与原生JS的是一样的
什么是事件 • 事件是视图层到逻辑层的通讯方式。 • 事件可以将用户的行为反馈到逻辑层进行处理。 • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。 • 事件对象可以携带额外信息,如 id, dataset, touches。
一句话带过,大胆的写你的JS代码,如果发现报错了不行了,在查看官方文档的语法参考文档:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/
在上一章当中,我们将 WXS 的内容与 WXML 混合在一起了,这样就导致了我们后期的不利于维护,这里一期当中我来介绍一下,如何将 WXS 内容编写到一个单独的 WXS 文件进行存储,然后与 WXML 进行分离。
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
!> <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性,条件渲染默认只能控制被添加条件属性的那个组件,如果多个组件需要同时被控制,我们就可以使用 block,普通的组件上可能需要添加很多属性,如果再把条件渲染或者列表渲染同时添加到上面会导致我们代码的可读性很差。
如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容,switch 的选中状态),需要使用 wx:key 来指定列表中项目的唯一标识符。
在组件上使用 wx:for 控制属性绑定一个数组/数字/字符串, 即可使用数组中各项的数据重复渲染该组件,wx:for 默认自动将当前遍历到的数据放到 item 变量中,会自动将当前遍历的索引放到index变量中,如果想修改保存数据的变量名称,或修改保存索引的变量名称,我们可以: • 使用:wx:for-item 可以指定数组当前元素的变量名; • 使用 wx:for-index 可以指定数组当前下标索引的变量名;
hidden 属性 • 在 Vue 中我们可以通过 v-show 来控制组件是否显示 • 在小程序中所有组件都支持hidden属性,我们可以通过hidden属性来控制组件是否显示隐藏
默认组件,只要被书写出来,都会渲染到界面上。
WXML 如何绑定数据 • 企业开发中大部分数据不是直接写死在界面中的,而是在程序运行的过程中动态从服务器获取的 • 将可变化的数据动态渲染到界面上,我们称之为绑定数据 • 在小程序中,所有需要动态绑定数据的地方,都需要使用 Mustache 语法
WXML(WeiXin Markup Language)是框架设计的一套标签语言,类似于HTML,结合基础组件、事件系统,可以构建出页面的结构。