vuejs-challenges icon indicating copy to clipboard operation
vuejs-challenges copied to clipboard

8 - Effect作用域 API

Open kalu5 opened this issue 2 years ago • 0 comments

// 你的答案
<script setup lang="ts">
import { ref, computed, watch, watchEffect, effectScope } from "vue"

const counter = ref(1)
const doubled = computed(() => counter.value * 2)

// use the `effectScope` API to make these effects stop together after being triggered once
const scope = effectScope()
scope.run(() => {
  watch(doubled, () => console.log(doubled.value))
  watchEffect(() => console.log(`Count:${doubled.value}`))}
)

counter.value = 2

scope.stop()
setTimeout(() => {
  counter.value = 4
})
  
</script>

<template>
  <div>
    <p>
      {{ doubled }}
    </p>
  </div>
</template>

kalu5 avatar Sep 19 '22 01:09 kalu5