javascript - vue js Prop 重置计时器

标签 javascript timer vue.js vuejs2

<template>
    <span>{{time}}</span>
</template>
<script>
  export default {
    name: 'Timer',
    data () {
      return {
        time: 0
      }
    },
    mounted () {
      setInterval(() => {
        ++this.time
      }, 1000)
    }
  }
</script>

父级

<template>
  <div class="tetris">
    <timer></timer>
  </div>
</template>
<script>
  import Timer from './Timer'
  export default {
    name: 'Game',
    components: {
      Timer: Timer
    },
   }

从 parent 这里重置计时器的最佳方法是什么? 我想避免发出事件,因为这会导致计时器的所有使用都被重置。传递 Prop 的最佳选择是“开始”“停止”“重置”吗?

最佳答案

如果您希望将事件从父级传播到子级,使用 Prop 并观察它可能是处理此问题的好方法。一般来说,父子组件之间的数据通信应该通过 props 进行父子通信,并通过发射事件进行子父通信。

当然,还有其他库可用于管理组件间通信,但上述内容通常适用于纯 Vue.js 代码。

关于javascript - vue js Prop 重置计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48032365/

相关文章:

javascript - ES6 检测函数是否在类实例的原型(prototype)链上

javascript - 如何在提交表格之前以 Rails 表格进行条纹收费

java - 为 java Boggle 游戏设置时间限制

java - 5 秒后加载新 Activity

javascript - 将城市/州从 SQL Server 加载到 Google map ?

javascript - 对象中的 null 和 undefined

c++ - C++ 中的回调定时器函数

laravel - 如何使用分离的 vue 前端检索 laravel CSRF token

performance - (Vue) 计算属性中局部作用域变量对性能的影响

html - 如何设计 html 5 下拉菜单