自定義函數
小程序開發我們會遇到需要定義函數的情況,如果沒有正確定義函數,在調用時會出現‘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"等錯誤