<template>
<div class="Search" id='app'>
<input type="text" class="Search__input" v-model="product">
<tr v-for="products in result">
<li>{{products.title}} </li>
</tr>
<button class="Search__button" @click="results()">Найти</button>
<ResultproductsComponet> </ResultproductsComponet>
</div>
</template>
<script>
import ResultproductsComponet from './ResultproductsComponet.vue'
export default {
components: { ResultproductsComponet },
data:function(){
return {
result:[],
product: ''
}
},
mounted(){
this.results()
},
methods:{
results:function (prod){
var prod = product;
axios.get('/api/search/'+ prod).then((Response)=> {
this.result = Response.data
});
}
}
}
</script>Консоль говорит, что не может найти product, потому что я не правильно использую хуки. Вью жз использует на ларавеле. Не могу увидеть свою ошибку.
Консоль говорит, что не может найти product, потому что я не правильно использую хуки.
var prod = product;product? Это который в data лежит? Тогда должно быть this.product. Почему вы пытаетесь определить переменную с таким же именем как и у параметра? А при вызове в хуке mounted - почему ничего не передаёте в метод results, у него же определён параметр?mounted при вызове results передавайте ему product - this.results(this.product). Или так: строку удаляете, удаляете параметр prod, в вызове axios.get вместо prod используете this.product.