背景:给小程序自定义tabbar,于是写了一个custom-tab-bar组件,然后在页面调用该组件,从而实现在不同页面显示不同的tabbar内容。
问题:组件里面明明正确地定义的methods属性,也定义了init方法,但是页面调用该方法是,会报错:this.getTabbar(...).init is not a function.(组件是js文件如下图所示)
// custom-tab-bar/custom-tab-bar.js
const app=getApp()
Page({
/**
* 页面的初始数据
*/
data: {
//略
},
methods:{
init(){
const page = getCurrentPages().pop();
let a=this.data.list.findIndex(item=>item.url===`/${page.route}`);
this.setData({
active:a
});
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},