自定义组件的生命周期无法使用methods中定义的方法名
发布于 5 年前 作者 houjuan 16588 次浏览 来自 问答

你想反馈一个 Bug 还是 提一个需求?

是Bug

如果是 Bug:

* Bug 表现是什么?预期表现是什么?

官方文档中说生命周期函数可以是methods中定义的方法名

* 如何复现?

* 提供一个最简复现 Demo

定义一个组件,然后

ready:change,或者ready:‘change’、this.methods.change等尝试过都无效

methods:{

change:function(){console.log(1)}

}

10 回复

@LastLeaf

不行,直接ready:this.change,这样会报错,提示未定义,如图

this.methods.change

不需要中间的 “methods” ,直接 this.change 就行了。

我写了个demo试了下,写在methods外面根本调不到这个方法,反正我是没调用成功

我的意思是

ready: () => {

this.change()

}

比如这个样子,定义的函数不是放在methods里面的,和onShow,onLoad同级,一样可以this调用

好的,谢谢,这种是可以的

抱歉,可能我没有理解你的意思,你说的写在methods外面是指的写在component构造器外面是吧,我试了下,这样是可以的;但是这样就无法调用到component内部的数据了。。。

在ready中console.log(this),你就能找到答案。

我说的是自定义组件,麻烦你能把整个代码结构贴出来吗?

你确定可以写在methods外面?这是自定义组件啊

回到顶部