我正在构建一个将用于所有设备的vue web应用程序。我有一些代码只能在小设备或移动设备上执行。目前,我有一个条件,如果该代码与$(window).width()
,像以下:如何仅在小屏幕/移动设备上运行一些JavaScript代码
if ($(window).width() <= 768) {
//My mobile specific code
}
有一些更好的办法或这样做的VUE方式?
编辑
例如,在组件中的一个,我有:
export default {
data() {
return {
fade: false,
showFilter: $(window).width() > 768
}
},
components: { PrFilter, Pr },
created() {
if ($(window).width() <= 768) {
bus.$on('pr-changed',() => {
this.showFilter = false
this.fade = false
})
}
}
}
在另一个组件
,我有:
watch: {
matchingPr: function (filteredPr) {
if (filteredPr.length) {
this.pr = filteredPr[0]
if ($(window).width() <= 768) {
bus.$emit('pr-changed')
}
}
}
},
你可以参考 http://stackoverflow.com/questions/11381673/detecting-a-mobile-browser –
那么小的屏幕宽度和小型设备通常是相同的,但并非总是如此,你需要决定是否要代码当用户有一个小屏幕或当用户使用手机时执行。 – apokryfos
@apokryfos我会更喜欢这个检查是小屏幕。 – Saurabh