javascript - 将用户列表发送到我的 Messenger 页面并使用 ChatApp.vue 组件在页面 (messenger.blade.php) 中显示它们
问题描述
我正在尝试将信使功能构建到我正在使用 laravel 5.4 开发的网站中
我有一个 ChatApp.vue 组件,我在messages.blade.php 中调用它。在我的 messagesController 中,我有一个名为 get 的函数,它应该以 response()->json($contacts) 格式为我提供我网站中所有用户的列表。
该功能有效,但是当我将 response()->son($contacts) 返回到我的 messages.blade.php 时,该页面不会加载,而是我只会在浏览器上显示用户数据。
我的 ChatApp.vue:
<template>
<div class="chat-app">
<Conversation :contact="selectedContact" :messages="messages"/>
<ContactsList :contacts="contacts"/>
</div>
</template>
import Conversation from './Conversation';
import ContactsList from './ContactsList';
export default {
props: {
user: {
type: Object,
required: true
}
},
data() {
return {
selectedContact: null,
messages: [],
contacts: []
};
},
mounted() {
console.log(this.user);
axios.get('/messages/messages')
.then((response) => {
console.log(response.data);
this.contacts = response.data;
});
},
components: {Conversation, ContactsList}
}
我的messages.blade 是我调用我的聊天应用程序的地方。
@extends('layouts.layout')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="card">
<div class="card-header">We Code Messenger</div>
<div class="card-body" id="app">
<chat-app :user="{{ auth()->user() }}"></chat-app>
</div>
</div>
</div>
</div>
</div>
@endsection
我的路线:
Route::get('/messages/messages', 'MessagesController@get');
我的 MessagesController@get 函数:
public function get() {
$contacts = User::where('id', '!=', auth()->id())->get();
return response()->json($contacts);
}
我期望的结果是,当我在浏览器上访问我的messages.blade 时,页面应该加载并且$contacts 应该被发送到我的控制台,但是页面没有加载并且只显示$contacts它。
解决方案
推荐阅读
- java - 为什么我在 Android 上遇到 ExifInterface 的 File not found 错误?
- c++ - glm::perspective 的 fov 参数是否定义为视野角度的一半?
- javascript - vscode 有什么插件可以立即输入console.log() 来评论?
- php - 用新的短代码替换旧的短代码
- vb.net - 未安装 VS 的计算机上的 VB.net 应用程序“无法加载文件或程序集”
- python-3.x - 尝试使用漂亮的汤从 html 表中抓取特定数据
- c++ - GDB:[无可用来源]
- python - 如何将密集层单元理解为预测数据的维度?
- rasa-nlu - 无法在 rasa-nlu 中训练 LUIS 模型
- c++ - 使用本机 DOS 命令行在 Eclipse 调试器中启动 C++ 程序卡在 91%