【问题标题】:I thought methods are not reactive but why in this example the method is reactive?我认为方法不是反应性的,但为什么在这个例子中方法是反应性的?
【发布时间】:2020-09-24 23:33:31
【问题描述】:

这里是示例:https://codesandbox.io/s/sparkling-pine-542q4?file=/src/App.vue

我创建了一个简短的示例。看方法:iAmAMethod。我直接在视图模板部分使用它。在那种方法中,我使用了一个反应数据道具counter,但似乎当 var counter 增加时,该模板的部分会被重新渲染。但为什么这行得通?我认为方法不是反应式的?

【问题讨论】:

标签: vue.js vuejs2 vue-component


【解决方案1】:

在 Vue 的上下文中,值的反应性意味着它们的状态(属性)被跟踪并且它们的setters 被拦截以触发重新渲染。

Related part in docs

相比之下,组件的方法不是响应式的,因为更改它们的属性不会触发重新渲染。

在您的示例中,您不会更改 iAmAMethod 方法的属性,但您会更改反应性的 counter 数据。这就是 Vue 重新渲染模板的原因。

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    相关资源
    最近更新 更多