Closed shanghaobo closed 3 years ago
测试代码
<template>
<view>
<van-calendar
title="记录日历"
class="calendar"
:formatter="formatter"
:poppable="false"
>
</van-calendar>
</view>
</template>
<script>
export default{
data(){
return{
a:123
}
},
methods:{
formatter(day){
console.log('a',this.a);
return day;
}
}
}
</script>
<style>
</style>
打印出来是undefined
mpvue 不清楚问题的逻辑是什么。 在原生小程序中,data 内虽然可以定义方法,但是方法无法访问到组件实例,即以下的代码是有问题的
Page({
data: {
formatter() {
console.log(this);
}
}
});
可以使用如下的方法来使 formatter
能正常访问到 this
Page({
data: {},
attached() {
this.setData({
formatter() {
console.log(this);
}
});
}
});
mpvue 也可以按照上面代码的思路调整下看能否访问到 this。
日历组件配置formatter后,在formatter函数里打印this里的变量是undefined,是怎么回事?