1.安装npm包,判断是否是移动端
npm install enquire.js
2.包简介
普通的响应式只能再css里面编写,但是如果我们想在js里面实现媒体查询呢?就可以用enquireJs,这个包的主要功能就是匹配到你传入的媒体查询的时候,会执行match
函数,未匹配的时候会执行unmatch
函数。
3.实际操作
封装一个方法
//util.ts中
import enquireJs from "enquire.js"
interface IEquireScreen{
(isMobile:boolean):void
}
function equireScreen(call){
const handler: Options = {
match: function() {
call && call(true);
},
unmatch: function() {
call && call(false);
},
};
enquireJs.register("only screen and (max-width:767.99px)", handler);
}
//App.vue
import {enquireJsScreen} from "./util/util"
enquireJsScreen((isMobile) => {
this.setDevice(isMobile);
})
网友评论