自定义函数
小程序开发我们会遇到需要定义函数的情况,如果没有正确定义函数,在调用时会出现‘not defined’ 的情况。
一般情况下我们有需要定义函数的几种情况
1. 在当前页面的js文件中直接定义和使用
这种情况需要注意的是应该在 page({...})在外部定义,然后在相关的生命周期函数中使用
如:
//在Page定义的外部
function test(param) {
console.log(param)
}
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
//在onLoad中调用
test("Hello")
},
2. 在App.js
中定义
这种一般是一些全局方法
如:
App({
test :function(param) {
console.log(param)
}
})
使用方式:
注意:使用app.js
中定义的方法或属性时,必须先获取全局变量var app = getApp()
ar app = getApp()
Page({
.....
testA: function(even) {
// 方法2 调用在app.js中的封装方法
app.test("a")
}
})
3. 自定义的工具类中使用
这个一般是给所有页面使用,作为公共库
在自定义的工具类文件中定义方法,然后在需要使用的文件中调用。如在util.js
文件中定义,然后在xxx.js
中使用。
注意:在util.js中定义的方法,需要通过module.exports={xxxMethord: xxxMethord}
公开暴露出来,否则被调用时识别不出来会出现;
同时,在xxx.js文件中使用时,需要通过require("路径/util.js")
导入util.js
文件,再进行调用。
module.exports = {
test: test
}
// 请求方法
function test(param) {
console.log(param)
}
使用的时候注意好 require("路径/util.js")
, 路径一定要正确, 否则会报"module xxx is not defined"等错误