mescroll-uni-option 我配置好了语言,可是我切换语言的时候 配置不会更新,还是以前的语言。
因为很多页面用了这个插件,如果我每个页面单独改的话很麻烦,我就想直接改mescroll-uni-option.js 可是切换语言之后配置没有更新怎么办啊,求大神解答
彭彭
- 发布:2021-01-20 23:17
- 更新:2021-12-29 10:27
- 阅读:1249
wenju - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件
- 修改源码mescroll-body.vue和mescroll-uni.vue, 新增 uni.$on("setMescrollGlobalOption",options)的监听
created() {
....
// 全局配置监听
uni.$on("setMescrollGlobalOption", options=>{
if(!options) return;
if(options.down){
let down = MeScroll.extend({}, options.down)
vm.mescroll.optDown = MeScroll.extend(down, vm.mescroll.optDown)
}
if(options.up){
let up = MeScroll.extend({}, options.up)
vm.mescroll.optUp = MeScroll.extend(up, vm.mescroll.optUp)
}
})
},
destroyed() {
// 注销全局配置监听
uni.$off("setMescrollGlobalOption")
}
- 在切换语音的地方调用uni.$emit("setMescrollGlobalOption", options)即可
// 中文配置 let EnglishOption = { down: { textInOffset: 'drop down refresh', textOutOffset: 'release updates', textLoading: 'loading ...', textSuccess: 'loaded successfully', textErr: 'loading failed' }, up: { textLoading: 'loading ...', textNoMore: '-- END --', empty: { tip: '~ absolutely empty ~', btnText: 'go shopping >' } } } // 英文配置 let ChineseOption = { down: { textInOffset: '下拉刷新', textOutOffset: '释放更新', textLoading: '加载中 ...', textSuccess: '加载成功', textErr: '加载失败' }, up: { textLoading: '加载中 ...', textNoMore: '-- END --', empty: { tip: '~ 空空如也 ~', btnText: '去逛逛 >' } } } // 模拟语言切换 this.isChinese = !this.isChinese let options = this.isChinese ? ChineseOption : EnglishOption; uni.showToast({icon: "none", title: this.isChinese ? "已切换为中文语言" : "switched to English"}) // 动态更新全局配置 uni.$emit("setMescrollGlobalOption", options)
彭彭 (作者)
感谢作者大大指导,另外这个插件真的好用!!!我每个项目都用的它,希望作者大大越来越厉害
2021-01-23 15:48