Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 为什么手表不';当我使用承诺时,你不会调用吗?_Vue.js_Vue Composition Api - Fatal编程技术网

Vue.js 为什么手表不';当我使用承诺时,你不会调用吗?

Vue.js 为什么手表不';当我使用承诺时,你不会调用吗?,vue.js,vue-composition-api,Vue.js,Vue Composition Api,我使用的是@vue/compositionapi和来自的usePromise 我观察从承诺中返回的计算值。承诺是在12000ms后解决 第一次调用computed和watch,但在12000ms之后,它们都没有被调用。所以手表回拨不起作用。甚至api.result也发生了变化 我可以通过打印:{{{items}在模板中看到该值已更改 如何解决这种意外行为?值更改时如何调用watch回调 以下是输出: in computed in watch 预期: in computed

我使用的是
@vue/compositionapi
和来自的usePromise

我观察从承诺中返回的计算值。承诺是在12000ms后解决

第一次调用
computed
watch
,但在12000ms之后,它们都没有被调用。所以手表回拨不起作用。甚至api.result也发生了变化

我可以通过打印:
{{{items}
在模板中看到该值已更改

如何解决这种意外行为?值更改时如何调用watch回调

以下是输出:

 in computed
 in watch
预期:

     in computed
     in watch
     in computed <-- data is resolved the api.result changed (has new value).
     in watch <--- same.
这是我的作品:

  watch(api.result, (v) => {
    console.log('in watch api.result');
  })
但是为什么计算不起作用呢?如何使它重新计算,使手表上的计算将工作


我看到您在上结束了本期-是否愿意回答您自己的以下问题?
  watch(api.result, (v) => {
    console.log('in watch api.result');
  })