当page加载Nuxt.js时如何运行代码?
如果浏览器支持使用!!window.ontouchstart
的触摸事件,我想添加一个类。
我尝试了此操作,但是window
未定义:
```
<section v-bind:class="{ touch: !!window.ontouchstart }">
...
</section>
```
答案 0 :(得分:0)
您需要先添加一个eventlistener
才能收听touchstart。
created: function(){
document.addEventListener('touchstart',this.touchStart);
},
destroyed: function() {
document.removeEventListener('touchstart', this.touchStart);
}
现在可以使用touch touchStart方法 内部的Vue方法。
methods:{
touchStart(e){
this.touched=true;
}
}
以html
<section v-bind:class="{ touch: touched}"> ... </section>
ontouchstart
也是一个尚未标准化的窗口事件,
因此,将document
替换为window
。