一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件。可是当有些公共方法,我们想抽离出来成为一个独立公共的js文件。我们该如何实现呢。
在根目录下有一个文件。这个根目录的js 文件我们可以通过getApp()轻松调用。
1.//
2.App({
3.globaData:'huangenai'
4.})
5.//
6.var app = getApp();
7.Page({
8.onLoad: function () {
9.console.log();
10.}
11.})
在开发者工具的 Console可以看到
那么当一些通用的公共方法我们抽出来,在根目录下有个utils文件夹(没有的话新建),里面(没有的话新建)在这里我们可以将通用的方法写在这。
1.util.js
2.//正则判断
3.function Regular(str, reg) {
4.if ((str))
5.return true;
6.return false;
7.}
8.//是否为中文
9.function IsChinese(str) {
10.var reg = /^[\u0391-\uFFE5]+$/;
11.return Regular(str, reg);
12.}
13.//去左右空格;
14.function trim(s){
15.return (/(^\s*)|(\s*$)/g, "");
16.}
17.//最下面一定要加上你自定义的方法(作用:将模块接口暴露出来),否则会报错: is not a function;
18.module.exports = {
19.IsChinese: IsChinese,
20.trim: trim
21.}
1.//
2.var util = require('../../utils/');
3.Page({
4.onLoad: function () {
5.console.log("判断是否为中文:"+('测试'));
6.console.log("去除左右空格:" + (s));
7.}
8.})
在开发者工具的 Console可以看到
注意了,在里的 Regular()方法,我们不可以这样调用(),因为我们没有用 来暴露模块接口
如果直接 调用则会出现这样的错误
1.thirdScriptError
2. is not a function;at "pages/test/test" page lifeCycleMethod onLoad function
3.TypeError: is not a function