イベントでウインドウのリサイズなどはVueに頼らず
addEveintListener を使った方が良いそうです
①
HTML
<div id="app">
Windowの横幅 : {{ width }}<br>
Windowの高さ : {{ height }}
</div>
JavaScript
var app = new Vue({
el: '#app',
data: {
width: window.innerWidth,
height: window.innerHeight
},
created: function() {
addEventListener('resize', this.resizeHandler);
},
beforeDestroy: function() {
addEventListener('resize', this.resizeHandler);
},
methods: {
resizeHandler: function($event) {
this.width = $event.target.innerWidth;
this.height = $event.target.innerHeight;
}
}
});
Windowの横幅 : 838 |
Windowの高さ : 525 |
②
mouseMoveではなく mousemove のようです
HTML |
<div id="app"> <p>マウスカーソルの位置 : {{ point.x }}, {{ point.y }}</p> </div> |
JavaScript
var app = new Vue({
el: '#app', data: { point: { x: 0, y: 0 } }, //イベントハンドラの登録 created: function() { addEventListener('mousemove', this.mousemoveHandler); }, //イベントハンドラの解除 beforeDestroy: function() { removeEventListener('mousemove', this.mousemoveHandler); }, //イベントハンドラ methods: { mousemoveHandler: function($event) { this.point.x = $event.clientX; this.point.y = $event.clientY; } } }); |
マウスカーソルの位置を動的に表示マウスカーソルの位置 : 837, 488
|