为什么计算函数无法识别 props 已经更改?

huangapple go评论61阅读模式
英文:

Why computed function does not recognize that props have changed?

问题

我是新手使用Vue。

我想知道为什么计算属性函数不按预期工作。

我想要将我的todo.date(props)更改为特定的格式!

import dayjs from 'dayjs'
export default{
  name: 'To-do',
  props: {
    todo: Object
  },
  data() {
     return {
        isChecked: this.todo.checked,
        isModifying: false,
     }
   },
  
    computed: {
        getDate() {
             this.date = dayjs(this.todo.date).format("YY MM DD")
        }   
      },
    } 

这是需要显示的内容,但它没有显示出来。

<div>{{ getDate }}</div>

我的计算属性函数应该在date(props)发生更改时识别并将其更改为正确的格式!

英文:

Im new to Vue.

I wanna know why computed function is not working as expected.
I want to change my todo.date (props) to specific form!

import dayjs from &#39;dayjs&#39;
export default{
  name:&#39;To-do&#39;,
  props:{
    todo:Object
  },
  data(){
     return{
        isChecked:this.todo.checked,
        isModifying:false,
     }
   },
  
    computed:{
        getDate(){
             this.date = dayjs(this.todo.date).format(&quot;YY MM DD&quot;)
        }   
      },
    } 

this is what needs to show up, but it's not.

&lt;div&gt;{{ getDate  }}&lt;/div&gt;

my computed function should recognize whenever date(props) has changed and change it to right form!

答案1

得分: 2

在计算属性中,您应该返回一个值,而不是修改属性:

 computed:{
    getDate(){
        return dayjs(this.todo.date).format("YY MM DD")
    }   
},
英文:

Inside the computed property you should return a value, not mutate a property :

 computed:{
        getDate(){
            return dayjs(this.todo.date).format(&quot;YY MM DD&quot;)
        }   
      },

huangapple
  • 本文由 发表于 2023年1月9日 16:29:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/75054732.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定