微信小程序注意点
- 学习基础:html,css,JavaScript
- 可以通过this.data.name.调用data中的变量中存放的值
- isNaN判空操作
- 条件连接符||,&&
- 局部变量创建:var 变量名称
- wxml中可以设置id属性用于当做当前元素的唯一标识
- 判断字符串操作使用"===",正常判断跟java相同
- 微信小程序 js中创建自定义函数:
方法名称: function(参数名称){代码片段}
- 函数的调用同js文件中需要使用[this.方法名称()]调用
- 以下css样式代码可以将其中的内容居中显示
display: flex; align-items: center; justify-content: center;
- var与let的根据区别在于两者的作用域不同,let是块作用域
- wxml文件与json文件进行数据绑定后,json中的数据更新,wxml会跟着刷新
- const与let的作用域相同,同为块作用域,但是const命名的变量不能进行更改,但是对象中的值可以改变,只是固定了变量引用的地址,且需要在声明时赋值
- 如何批量给控件id
<switch id="switch{{index}}" wx:for="{{names}}" wx:key="c" >{{item}}</switch>
- wx:key用来保存控件的为一标识符,有两种形式(提高效率):
- 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
- 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。
当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。
- 关于wx:for介绍:https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/list.html#wx:key
- 关于button宽度无法改正问题
使用button标签的style属性设置width
去除app.json文件中的style:v2语句 - javaScript中的for/in循环
- block结合循环时,block不会被解析编译到代码中。而其他标签元素则会编译
- 导航栏(NavigationBar)
- css样式中flex:1的定义
flex-grow 一个数字,规定项目将相对于其他灵活的项目进行扩展的量。
flex-shrink 一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
flex-basis 项目的长度。合法值:“auto”、“inherit” 或一个后跟 “%”、“px”、“em” 或任何其他长度单位的数字。\
.item {flex: 1;}
/*等价于*/
.item {
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;
}
- 什么是块级作用域呢?
任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。 - js文件中this代表page对象
- any类型为任意类型,会自动转换
- wxss中如何加载本地或者网络图片,使用background:url(“123.jpg”)
- app.js中的方法和变量可以通过const app = getApp()调用即可
- 定义全局变量可以使用app.变量名称 = 变量值
- a
javaScript中的es6学习
- 1.箭头函数=>代替function(箭头符号没有作用域,跟随着调用者的作用域,但funcation有作用域)
- ''所包括的文本可以包括空白符和换行符
- 多参数前者加…即可产
- 可以将表达式作为属性名称,但表达式要在方括号里面
- 可以通过
var datas = [1,2,3,4]
var [a,b,c,d] = datas
直接调用a即可获得datas中的1值,如果[a,b,c,d]中的成员数大于datas中的那么调用到的将会为undefined - 同上,可以使用var {name,age} = people的方法直接调用name即可获得people.name值
- 字符串同数组操作,如var [a,b,c]=“eat”
以上所描述如果使用的变量名称相同,都是同一个变量,里面的值会被覆盖 - 函数中的参数可以使用数组,如funcation test([a,b]){}
- constructor()方法为构造方法,可以java使用class类来创建
es5
var People = function(){
}
People.prototype.eat = function(){
console.log("es5.eat");
}
People.prototype.doing = function(){
console.log("es5.doing");
}
es6
class People {
constructor() {
}
eat() {
console.log("es5.eat");
}
doing() {
console.log("es5.doing");
}
}
值得注意的是,变量的加载是在方法前加载的,所有进行同数组变量的结构会引起冲突
最新更新时间:2020年5月8日14:51:00