我目前正在开发一个Vue.js应用程序。我有一个指定的值,我需要找到最接近的较高值和最接近的较低值。但是我如何在Vue函数中做到这一点?
这只是代码的一部分,尽可能多地描述问题。实际问题位于“new Vue”下的第二个计算函数中。
首先,我使用orderedByPosition函数对数组进行排序。在那之后,我试图找出我需要的两个值。现在,问题开始了......问题的一部分是信息:
“[Vue警告]:计算属性”计算“缺少Getter。我进入Chrome浏览器控制台。
HTML
<div id="results">
{{ higher }} {{ subject }} {{ lower }}
</div>
Vue.js
let subject;
let number;
let closest;
let higherValue;
let lowerValue
let you = [];
let cArray = [];
dummyList = [{
goals: 42,
},
{
goals: 20,
},
{
goals: 15,
},
{
goals: 5,
}
];
subject = 16;
Vue.component('Donegoals', {
data: function() {
return {
higher: higherValue,
subject: subject,
lower: lowerValue
}
}
});
new Vue({
el: '#results',
data: {
cArray: dummyList
},
computed: {
orderedByPosition: function() {
return _.sortBy(this.cArray, 'goals')
},
computed: { // Here is the function that is not working correctly
closest: function(closest) {
closest = this.cArray.sort((a, b) => Math.abs(subject - a) - Math.abs(subject - b))[0];
if (closest > subject || closest === subject) {
higherValue = closest
} else {
lowerValue = closest
}
},
},
},
});