ES6使用实践总结
【1】ES6中实例对象不能调用静态方法
Java中其实是可以的,虽然IDEA会提示但是编译器会通过。
如下所示,封装一个Toast类(这里以小程序中使用为例):
export default class Toast{
static showToLogin( title, duration) {
wx.showToast({
title: title?title:'请先登录!',
duration: duration ? duration : 2000,
mask: true,
image: "/images/icon/fail.png",
success: function () {
setTimeout(function () {
wx.switchTab({
url: '/pages/my/my',
})
}, duration ? duration : 2000,);
}
});
}
static show(icon, title, duration) {
if (icon === 'loading') {
wx.showToast({
title: title?title:'加载中...',
icon: 'loading',
duration: duration ? duration : 2000,
})
} else if (icon === 'success') {
wx.showToast({
title: title?title:'请求成功!',
icon: 'success',
duration: duration ? duration : 2000,
})
} else if (icon === 'warn') {
wx.showToast({
title: title,
duration: duration ? duration : 2000,
image: '../images/icon/fail.png'
})
} else if (icon === 'fail') {
wx.showToast({
title: title?title:'请求失败!',
duration: duration ? duration : 2000,
image: '../images/icon/fail.png'
})
}
}
}
index.js中引入并测试:
//index.js
import Toast from "../../utils/toast.js";
let toast=new Toast();
onLoad: function () {
toast.show('loading',null,null);
// Toast.showToLogin(null,null);
}
Toast.showToLogin
是ok的,类调用静态方法,java中也一样。但是toast.show('loading',null,null);
就会报错,如下提示:
把statis show
改为show ,也就是非静态方法则OK!
还没有评论,来说两句吧...