Вычисленное свойство name компонента не определено
<template>
<div class = "person">
<p>{{name}}</p>
</div>
</template>
<script>
export default {
name: 'person',
data () {
return {
firstName: 'John',
lastName: 'Doe',
}
},
computed: {
name: () => {
return `${this.firstName} ${this.lastName}`
}
}
}
</script>
результаты в undefined undefined



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У меня уже есть похожая проблема, потому что у computed должны были быть сеттер и получатель вроде этого:
computed: {
fullName: {
// getter
get: function () {
return this.firstName + ' ' + this.lastName
},
// setter
set: function (newValue) {
var names = newValue.split(' ')
this.firstName = names[0]
this.lastName = names[names.length - 1]
}
}
}
@PatrickEvans может ли контекст быть привязан к функции стрелки?
@JockyDoe нет, аргумент thisArg будет проигнорирован при попытке использовать bind, call и т. д.
Создание сеттера / получателя - это не то, что решило вашу проблему, это потому, что вы создали обычную функцию (
function(){}) вместо функции стрелки (()=>{}), у которой нет собственногоthis