在onLoad里面调用function 报错 提示
thirdScriptError doLogin is not defined;at "pages/common/login/login" page lifeCycleMethod onLoad function ReferenceError: doLogin is not defined |
js代码如下
const app = getApp(); Page({ /** * 页面的初始数据 */ data: { topnavData: { title: '' , showCapsule: 0, //是否显示返回按钮 1表示显示 0表示不显示 }, // 此页面 页面内容距最顶部的距离 height: app.globalData.height * 2 + 24, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this ; var phone = wx.getStorageSync( "phone" ); var password = wx.getStorageSync( "password" ); // console.log(phone, password); if (phone != null || password != null ) { doLogin(phone, password); } }, toRegister: function () { wx.navigateTo({ url: '/pages/common/register/register' }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, //页面跳转 goIndex: function () { }, /** * 登录 */ doLogin: function (phone, password) { wx.request({ method: 'POST' , url: app.globalUrl.url + '/open/api/login/login' , data: { 'phone' : phone, 'password' : password, 'openid' : app.globalData.openid }, header: { 'content-type' : 'application/x-www-form-urlencoded' // 默认值 }, success(res) { var data = res.data; console.log(data.data); if (0 == data.result) { wx.setStorageSync( 'token' , data.data.token); wx.setStorageSync( 'user' , user); //页面跳转 var roleName = wx.getStorageSync( 'roleName' ); var url = '' ; if ( "landlord" == roleName) { url = '/pages/landlord/index/index' ; } else if ( "agent" == roleName) { url = '/pages/agent/index/index' ; } else { url = '/pages/tenants/index/index' ; } console.log(url); wx.switchTab({ url: url, }) } else { var msg = res.data.msg; wx.showToast({ title: msg, icon: 'none' , duration: 9000 //持续的时间 }) } } }) }, formSubmit: function (e) { var that = this ; // console.log(e.detail.value); //格式 Object {userName: "user", userPassword: "password"} //获得表单数据 var objData = e.detail.value; // 同步方式存储表单数据 wx.setStorageSync( 'phone' , objData.phone); wx.setStorageSync( 'password' , objData.password); doLogin(objData.phone, objData.password); }, }) |
我就不明白 这个function 要如何定义
还是
onLoad不能执行function??
求解答
写成that.doLogin(phone, password);试试
感谢 方法没有报错了 但是 为什么执行了方法 页面没有跳转呢
console.log(url);
wx.switchTab({
url: url,
})
你的跳转页面是tabbar页面吗?
换成navigateTo解决了
wx.navigateTo({
url: url,
})
那说明你的页面不是tabBar页面
小程序 是多角色 显示不同的tabBar做的比较复杂 没有用原生的tabBar