Я ищу, чтобы нажать массив из с в вычисляемом свойстве в Vue.js 2, Vue используется в Laravel, и я получаю следующее ответ.Нажмите на массив из с в вычисляемом свойстве в Vue.js 2
createSelection: "(ошибка при оценке)"
Следующий код используется:
<template>
<div>
<div>Credits carried through: {{ credits }}</div>
<div v-for="meal in meals">
{{meal}}
<input :id="meal" :name="meal" v-model.number="creditsPerMeal[meal]" type="number">
</div>
<div>
Credits used: {{creditsSum}}/{{credits}}
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component ready.');
console.log(JSON.parse(this.f));
},
props: ['f','c'],
name: 'credits',
data: function() {
var meals = JSON.parse(this.f)
var creditsPerMeal = {}
for (var i = 0; i < meals.length; i++) {
creditsPerMeal[meals[i]] = 0
}
var createSelection = []
return {
credits: this.c,
meals,
creditsPerMeal
}
},
computed: {
creditsSum() {
return Object.values(this.creditsPerMeal).reduce((a, b) => a + b, 0)
},
createSelection: function(){
for (var i = 0; i < meals.length; i++) {
createSelection.push({
food: meals[i],
quantity: creditsPerMeal[meals[i]]
})
}
}
}
}
</script>
Спасибо за ваш ответ, да, это ошибка Vue, поскольку она отображается только в инструментах Vue dev, а не в консоли. Я передам ваш код. –
Итак, добавлено, что теперь нужно было бы назвать метод наилучшим способом? Может быть, смотреть? –
Где вам нужно позвонить по этому методу? Я не вижу вызова идентификатора 'createSelection' в вопросительном коде. Btw также выглядит очень странно, что функция 'data' выполняет некоторые действия, я рекомендую возвращать только dic и выполнять инициализацию переменной в' created' hook. Кроме того, массив 'createSelection' должен находиться внутри данных, а когда вы его используете, вы shoud reffer, как' this.createSelection', и еще одна вещь - не имеет смысла иметь метод (или вычисляемый метод), который именован как переменная данных. – user3479125