小程序里怎么给index页面的view绑定一个点击事件,执行app.js里的方法呢?

唐伯虎点蚊香
  • 375

我给一些子页面的button标签绑定一个相同的点击事件比如getFormID,所以把getFormID放在了app.js里。子页面的button绑定点击事件的时候直接bindtap="getFormID"执行不了,提示page里没有getFormID方法,怎么才能绑定到app.js里的getFormID呢?

回复
阅读 2.2k
5 个回答

getFormID 为什么要绑定到app.js里面呢?事件相同太多吗?我觉得可以放入一个封装一下,放入其他js文件里面

小程序没有原生的 mixin 功能,但并不意味着我们不能自己实现。考虑到 Page(init) 的页面初始化方式,可以这么做:

import {defaults} from 'lodash';
import mixins from './mixins'; // 要混入的内容

const page = defaults({
  // 这个页面专属的内容
}, utils);
Page(page);

再index.js里写一个方法getFormIDgetFormID方法调app.js里的方法就可以了

因为声明周期和this的是上下文范围只能在Page里面。还有app.js里面不宜放太多内容。

index.js页面顶部需要 const app = getApp() 然后你引用app.js里的方法就可以写app.getFormId()了。没有楼上那些说的那么复杂。当然,不建议你把 公用的 函数放在app.js里。utils文件夹里面你自定义个.js文件 然后在需要用的页面引入就行了

你知道吗?

宣传栏