我正在尝试将通知栏从组件提示显示到layout / app.blade,但控制台中发生错误。
[Vue警告]:创建的挂钩中出现错误:“ TypeError:无法读取未定义的属性'userId'”
和
TypeError:无法读取未定义的属性'userId'
我的app.js如下所示。
require('./bootstrap');
window.Vue = require('vue');
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
Vue.component('estate', require('./components/EstateNotification.vue'));
const app = new Vue({
el: '#app',
data: {
estates: '',
},
created(){
if (window.Laravel.userId){
axios.post('/notification/estate/notification').then(response => {
this.estates = response.data;
console.log(response.data)
});
Echo.private('App.User.'+ window.Laravel.userId).notification((response) => {
data = {"data":response};
this.estates.push(data);
console.log(response);
});
}
}
});
在我的路线上:
Route::post('/notification/estate/notification', 'EstateController@notification');
控制器:
public function notification()
{
return auth()->user()->unreadNotifications;
}
但是我不知道为什么,为什么userId未定义?我在哪里做错了?真的非常感谢您的帮助!
答案 0 :(得分:0)
在app.blade中尝试一下:
<div id ="app">
<estate v-bind:estates="estates"></estate>
</div>
const app = new Vue({
el: '#app' //this ID
});