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 “在Nuxt中”;v-代表“;,在v-for中的每个项中使用相同的计算属性时,如何避免重复计算? xxx 计算:{ 计算的属性{ console.log('computed!!!')) 返回'123' } }_Vue.js_Frontend_Nuxt.js_Server Side Rendering - Fatal编程技术网

Vue.js “在Nuxt中”;v-代表“;,在v-for中的每个项中使用相同的计算属性时,如何避免重复计算? xxx 计算:{ 计算的属性{ console.log('computed!!!')) 返回'123' } }

Vue.js “在Nuxt中”;v-代表“;,在v-for中的每个项中使用相同的计算属性时,如何避免重复计算? xxx 计算:{ 计算的属性{ console.log('computed!!!')) 返回'123' } },vue.js,frontend,nuxt.js,server-side-rendering,Vue.js,Frontend,Nuxt.js,Server Side Rendering,这是我的代码,“someList”是一个包含三项的数组。我发现当我刷新页面时,“computed!!!”在服务器端打印了三次(在客户端打印了一次),我认为这是不必要的,因为我认为这个计算属性应该被缓存,“computed!!!”应该只在服务器端打印一次。那么,为什么会发生这种重复计算?有没有办法避免这种情况?因为在服务器端渲染(SSR)过程中,计算的属性不是反应性的,因此不会缓存返回的值 查看详细信息 唯一的解决方法是使用完全禁用组件的服务器端渲染,因为在服务器端渲染(SSR)过程中,计算的属性

这是我的代码,“someList”是一个包含三项的数组。我发现当我刷新页面时,“computed!!!”在服务器端打印了三次(在客户端打印了一次),我认为这是不必要的,因为我认为这个计算属性应该被缓存,“computed!!!”应该只在服务器端打印一次。那么,为什么会发生这种重复计算?有没有办法避免这种情况?

因为在服务器端渲染(SSR)过程中,
计算的
属性不是反应性的,因此不会缓存返回的值

查看详细信息


唯一的解决方法是使用

完全禁用组件的服务器端渲染,因为在服务器端渲染(SSR)过程中,
计算的
属性不是反应性的,因此不会缓存返回的值

查看详细信息


唯一的解决方法是使用

完全禁用组件的服务器端渲染,因为您有3个项目,所以它会打印三倍?nuxt/vue不知道您需要3倍的sameit打印三倍,因为您有3个项目?nuxt/vue不知道您需要相同的3倍
<ul v-for="(item, index) in someList" :key="index">
  <li :class="{'some-class': a_computed_property === item.someData}">
     xxx
  </li>
</ul>

computed: {
    a_computed_property {
       console.log('computed!!!')
       return '123'
    }
}