事宜与自定义属性
页面跳转、参数通报与吸收
页面跳转的五种体式格局
1、wx.navigateTo(obj)
2、wx.redirectTo(obj)
3、wx.switchTab(obj)
4、wx.navigateBack(obj)
5、wx.reLaunch(obj)
页面间参数通报与吸收—-
要领1:url带参数
//发送方:发送参数,url带参数形式发送
<navigator class="bury-wrapper wx-li" url="../detail/detail?id={{name.id}}"> 评19
</navigator>
//吸收方:吸收参数,经由过程onLoad性命周期函数中的option参数猎取参数
Page({
onLoad: function(options) {
var duanziId = options.id
}
})
页面间参数通报与吸收—-
要领2:全局参数
//发送方
var appInstance = getApp();
apppInstance.pageParams.xxx = val;
//吸收方
apppInstance.pageParams.xxx;
页面间参数通报与吸收—-
要领3:缓存
自适应与新单元
新规划:弹性盒模子
以下是微信小顺序中组件的范例
inline: <text>、<label>
inline-block: <image>、<switch>
block: <view>、<input>、<form>(form改不了display)、<swiper>
什么是弹性盒模子?
Flex 规划语法教程容器属性(display:flex)
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
容器内元素属性
order
flex-grow
flex-shrink
flex-basis
flex
align-self
Template模板引擎
模板定义
模板运用
1、导入模板wxml文件:<import src="/template/movie-list/movie-list-tpl.wxml"/>
2、导入模板wxss文件:@import "../../template/movie-list/movie-list-tpl.wxss";
3、运用模板:<template is="msgItem" data="{{...item}}"/>
注重:data中...有寄义,在模板文件中直接挪用item下的属性
模板中嵌套模板
<import src="../movie/movie-tpl.wxml" />
<template name="movie-list">
<view class="movie-list-container">
<view class="movie-list-head {{colorStyle}}">
<text>{{title}}</text>
<view class="more">
<text>更多</text>
<text class="iconfont icon-right"></text>
</view>
</view>
<view class="movie-list-body">
<template is="movie" data="{{...movies[0]}}" />
<template is="movie" data="{{...movies[1]}}" />
<template is="movie" data="{{...movies[2]}}" />
<!--<block wx:for="{{movies}}" wx:key="item">
<template is="movie" data="{{...item}}"/>
</block>-->
</view>
</view>
</template>
数据绑定
模板
<template is="stars" data="{{stars:stars,score:average}}"/>
<template is="movie" data="{{...movie}}" />
<template is="objectCombine" data="{{...obj1, ...obj2, e: 5}}"/>
页面JS
this.setData({});
注重事项
如果是在异步要领挪用时才举行数据绑定,因为机遇不可控必需在页面的data:{}中先定义数据,不然失足
数据缓存
限定:每一个小顺序上限10M
特性:永远存储/同步与异步2种体式格局/不发起将症结信息存储
页面与APP性命周期
途径题目
绝对途径(引荐)
<image src="/images/1.jpg"></image>
相对途径(相对当前文件所在位置)
var util = require('../../utils/util.js');
设置
全局设置(
app.json
)
可设置五项:pages/window/tabBar/networkTimeout/debug
部分设置(
每一个页面对应的json文件
)
只可设置一项:window
援用
援用wxml文件
1、import <import src="a.wxml"/>
2、include <include src="header.wxml"/>
援用wxss文件
@import "common.wxss"; //支撑相对途径
援用js文件
1、var common = require('common.js'); //require临时只支撑相对途径
2、import {Person} from "./person.js"; //es6供应的加载模块功用
下拉革新、上拉加载
完成要领
2种
1、运用组件 <scroll-view>
2、运用Page中的onPullDownRefresh()与onReachBottom()回调要领【引荐】
要领2
##前期预备
在设置文件JSON中,必需开启 "enablePullDownRefresh": true
##离别完成2个回调要领
onPullDownRefresh()与onReachBottom()
Q&A
this.data.xxx与this.setData()的区分
动态新增/修正数据绑定:
this.data.xxx 已不能运用
只能运用 this.setData()
异步与同步的区分
异步中的代码没法肯定实行机遇,而同步能够
1、异步代码易读性差
2、异步难调试
3、异步不壅塞
4、异步掌握实行机遇差,很难掌握
5、同步会壅塞(引荐同步,异步要根据营业来决议)
异步挪用怎样猎取数据
注重:异步挪用体式格局不能运用同步猎取数据,不然猎取不到
解决方案:运用回调函数来猎取变量
Page({
getBannerDate:function(id,callBack){
wx.require({
url:"",
success:callBack
});
},
callBack: function(res){
}
});
##ES6供应了一种简化体式格局(箭头函数),不必定义多个回调函数
Page({
getBannerDate:function(id,(res)=>{
}){
wx.require({
url:"",
success:callBack
});
}
});
怎样动态设置导航栏题目
##必需在onReady性命周期要领中挪用wx.setNavigationBarTitle()要领
wx.setNavigationBarTitle({
title: "当前页面"
});