微信小程序 基础操作(边做边学2)
二级页面在app.json文件中应该添加在一级页面下。添加在pages数组底部。就会报错: Invoking Page() in async task.
选择节点,页面滚动到目标位置。在小程序中实现锚点定位需要使用,小程序的两个方法:
var bindId = event.currentTarget.dataset.bindindex; var query = wx.createSelectorQuery() query.select('#scrollView' + bindId).boundingClientRect() query.exec(function (res) { wx.pageScrollTo({ //小程序滚动程序 scrollTop: res[0].top //距离现在定位的距离 }) })
需要获取定位目标的对象实例。获取目标距离当前定位的距离。使用pageScrollTo,滚动定位到目标位置。上面少段代码。需要把上次的滚动位置保存下来。每次滚动前,将新获得的位置与上次的位置相加。
设置全局变量:
在app.js中设置全局变量,在其他页面可以通过公共方法getApp()获取全局实例。然后获取全局变量。其实是常量。
设置全局公共方法:我们可以创建公共的js文件。一般会创建在utils 文件夹内。然后在引用页面通过require获取实例。比如我们创建一个公共的http方法:
var API_URL = 'https://test1.t.com'
function request(method, requestHandler) {
var params = requestHandler.params;
var url = requestHandler.url;
wx.request({
url: API_URL + url,
data: params,
header: { 'content-type': 'application/x-www-form-urlencoded', },
method: method,
success: function (res) {
if (res.data.datas.error) {
alert(res.data.datas.error);
} else {
requestHandler.success(res.data)
}
},
fail: function (res) { alert(res.fail) },
complete: function (res) { },
})
}
function GET(requestHandler) {
request('GET', requestHandler)
}
function POST(requestHandler) {
request('POST', requestHandler)
}
module.exports = {
GET: GET,
POST: POST
}
在引用页面,调用实例方法,传入对应参数即可。
引用公共wxml文件:
wxml提供两种文件引用方式import和include.
import 可以在该文件中引用目标文件定义的template:
<tempalte name="item">
<text>{{text}}</text>
</template>
// another wxml
<import src="item.wxml">
<template is="item" data="{{text:'test'}}" />
import有作用域的概念,即只会Import目标文件中定义的template,而不会import目标文件import的template。(我的附庸的附庸不是我的附庸)
include可以将目标文件除了<template/>的整个代码引用,相当于拷贝到include位置。

浙公网安备 33010602011771号