Добрый день.
Предполагаю, что пытаюсь неправильно использовать родителя и потомка, НО всё же хочу спросить.
Итак есть, потомок:
// IterableTableTemplate.vue (child)
<template>
<!--//-->
<tr v-for="item in items" :key="item._id">
<td v-for="(field, keyField) in fields" :key="keyField">{{ calcSomething(item, keyField) }}</td>
</tr>
<!--//-->
</template>
<script>
// ...imports
export default {
props: {
items: Array,
fields: Object
},
methods: {
calcSomething: function(item, field) {
this.$emit("getSomething", item, field)
}
/*, // если код прописать прямо в потомке, то всё работает
calcSomething: function(job, field) {
return "111"
}
*/
}
</script>
и родитель
//parent.vue
<template>
<IterableTableTemplate :items="jobs" :fields="fields" @getSomething="doSomething">
</IterableTableTemplate>
</template>
<script>
//...imports
export default {
data() {
return {
jobs,
fields
}
},
methods: {
doSomething: function(job, field) {
console.log(job, field) // отрабатывает job и field есть
return "111" // НО ничего не возвращает
}
}
</script>
Вопрос: должно ли так работать? И если ДА, то почему так не работает?
В данном случае метод просто преобразовывает некоторые данные и наверное лучше сделать это в родителе, а потомку "скормить" всё подготовленное.