<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
.