This commit is contained in:
syuilo 2018-07-18 00:47:11 +09:00
commit b274c4160e
2 changed files with 16 additions and 7 deletions

View file

@ -205,7 +205,7 @@
"vue-cropperjs": "2.2.1", "vue-cropperjs": "2.2.1",
"vue-js-modal": "1.3.16", "vue-js-modal": "1.3.16",
"vue-json-tree-view": "2.1.4", "vue-json-tree-view": "2.1.4",
"vue-loader": "15.2.4", "vue-loader": "15.2.5",
"vue-router": "3.0.1", "vue-router": "3.0.1",
"vue-template-compiler": "2.5.16", "vue-template-compiler": "2.5.16",
"vuedraggable": "2.16.0", "vuedraggable": "2.16.0",

View file

@ -45,7 +45,7 @@ export default Vue.extend({
data() { data() {
return { return {
now: new Date(), now: new Date(),
clock: null, enabled: true,
graduationsPadding: 0.5, graduationsPadding: 0.5,
handsPadding: 1, handsPadding: 1,
@ -74,6 +74,9 @@ export default Vue.extend({
return themeColor; return themeColor;
}, },
ms(): number {
return this.now.getMilliseconds();
}
s(): number { s(): number {
return this.now.getSeconds(); return this.now.getSeconds();
}, },
@ -85,13 +88,13 @@ export default Vue.extend({
}, },
hAngle(): number { hAngle(): number {
return Math.PI * (this.h % 12 + this.m / 60) / 6; return Math.PI * (this.h % 12 + (this.m + (this.s + this.ms / 1000) / 60) / 60) / 6;
}, },
mAngle(): number { mAngle(): number {
return Math.PI * (this.m + this.s / 60) / 30; return Math.PI * (this.m + (this.s + this.ms / 1000) / 60) / 30;
}, },
sAngle(): number { sAngle(): number {
return Math.PI * this.s / 30; return Math.PI * (this.s + this.ms / 1000) / 30;
}, },
graduations(): any { graduations(): any {
@ -106,11 +109,17 @@ export default Vue.extend({
}, },
mounted() { mounted() {
this.clock = setInterval(this.tick, 1000); const update = () => {
if (this.enabled) {
this.tick();
requestAnimationFrame(update);
}
});
update();
}, },
beforeDestroy() { beforeDestroy() {
clearInterval(this.clock); this.enabled = false;
}, },
methods: { methods: {