扫描小程序码分享
你想反馈一个 Bug 还是 提一个需求?
是Bug
如果是 Bug:
* Bug 表现是什么?预期表现是什么?
官方文档中说生命周期函数可以是methods中定义的方法名
* 如何复现?
* 提供一个最简复现 Demo
定义一个组件,然后
ready:change,或者ready:'change'、this.methods.change等尝试过都无效
methods:{
change:function(){console.log(1)}
}
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我的意思是
ready: () => {
this.change()
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这种也无法调到,this 为 undefined
注意 JS 的箭头函数没有 this (不明白的话可以查询一下 JS 语法)。
下面的报错应该是别的问题(比如连续调用了 wx.navigateTo 导致有跳转失败了)。
this.methods.change
不需要中间的 “methods” ,直接 this.change 就行了。
按照楼主确实不行,注释这边要么就提供示例,要么就是误导别人,坑爹,还有一个地方也是
表达什么意思
在ready中console.log(this),你就能找到答案。
好的,谢谢,这种是可以的
@LastLeaf
不行,直接ready:this.change,这样会报错,提示未定义,如图
我说的是自定义组件,麻烦你能把整个代码结构贴出来吗?
比如这个样子,定义的函数不是放在methods里面的,和onShow,onLoad同级,一样可以this调用
抱歉,可能我没有理解你的意思,你说的写在methods外面是指的写在component构造器外面是吧,我试了下,这样是可以的;但是这样就无法调用到component内部的数据了。。。
我写了个demo试了下,写在methods外面根本调不到这个方法,反正我是没调用成功
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我的意思是
ready: () => {
this.change()
}
这种也无法调到,this 为 undefined
注意 JS 的箭头函数没有 this (不明白的话可以查询一下 JS 语法)。
下面的报错应该是别的问题(比如连续调用了 wx.navigateTo 导致有跳转失败了)。
不需要中间的 “methods” ,直接 this.change 就行了。
* 提供一个最简复现 Demo
定义一个组件,然后
ready:change,或者ready:'change'、this.methods.change等尝试过都无效
methods:{
change:function(){console.log(1)}
}
按照楼主确实不行,注释这边要么就提供示例,要么就是误导别人,坑爹,还有一个地方也是
表达什么意思
在ready中console.log(this),你就能找到答案。
好的,谢谢,这种是可以的
@LastLeaf
不行,直接ready:this.change,这样会报错,提示未定义,如图
我说的是自定义组件,麻烦你能把整个代码结构贴出来吗?
比如这个样子,定义的函数不是放在methods里面的,和onShow,onLoad同级,一样可以this调用
抱歉,可能我没有理解你的意思,你说的写在methods外面是指的写在component构造器外面是吧,我试了下,这样是可以的;但是这样就无法调用到component内部的数据了。。。
我写了个demo试了下,写在methods外面根本调不到这个方法,反正我是没调用成功