我的 vue 脚本出现此错误,这是我正在使用的文件找不到随 axios.ad(收藏夹Ad.vue(报告的错误。它基本上是一个最喜欢的功能,使用:https://scotch.io/tutorials/implement-a-favoriting-feature-using-laravel-and-vue-js#comments-section(用广告替换帖子(
应用.js
require('./bootstrap');
window.Vue = require('vue');
Vue.component('favorite', require('./components/FavoriteAd.vue'));
const app = new Vue({
el: '#favorite'
});
收藏夹广告
<template>
<span>
<a href="#" v-if="isFavorited" @click.prevent="unFavorite(ad)">
<i class="fa fa-heart"></i>
</a>
<a href="#" v-else @click.prevent="favorite(ad)">
<i class="fa fa-heart-o"></i>
</a>
</span>
</template>
<script>
export default {
props: ['ad', 'favorited'],
data: function() {
return {
isFavorited: '',
}
},
mounted() {
this.isFavorited = this.isFavorite ? true : false;
},
computed: {
isFavorite() {
return this.favorited;
},
},
methods: {
favorite(ad) {
console.log(ad);
axios.ad('/favorite/'+ad) // this is the error line
.then(response => this.isFavorited = true)
.catch(response => console.log(response.data));
},
unFavorite(ad) {
axios.ad('/unfavorite/'+ad)
.then(response => this.isFavorited = false)
.catch(response => console.log(response.data));
}
}
}
视图
@if (Auth::check())
<favorite
:ad={{ $aviso->id }}
:favorited={{ $aviso->favorited() ? 'true' : 'false' }}
></favorite>
@endif
您从未在应用程序中包含 axios。 请尝试npm install axios
然后在应用程序.js文件上require('./axios')
。另外,根据 axios 参考手册,没有名为 ad
的方法。