从早上开始,iv就一直试图解决这个问题...我一直收到此错误。
vue.js:1743 TypeError: Cannot read property 'channel' of undefined
我正在尝试使用此代码在频道上收听。我已经尝试使用Echo.channel
无法正常工作,因此我正在使用下面的代码,这似乎也会产生我提到的错误
listen(){
window.Echo.channel('tmp-chanel')
.listen('NewBidMade',(auction_item) => {
console.log('-------wakanda-------');
// this.item = auction_item;
});
},
欢迎任何想法或可能的解决方案
答案 0 :(得分:0)
要使用Laravel Echo,首先必须将其导入bootstrap.js
resources/assets/js/bootstrap.js
请检查此行代码是否未注释:
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'your-pusher-key'
});
注意: 如果您使用Pusher,请使用key-s更新代码
更多信息: https://laravel.com/docs/5.6/broadcasting#installing-laravel-echo
答案 1 :(得分:0)
我的问题是我的脚本标签具有defer属性。
<script src="{{ asset('js/app.js') }}" defer></script>
删除它可以解决问题