我正在構建一個將用於所有設備的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