Laravel Vue SPA:如何从 Laravel 正确检索 json 对象并将其打印出来?

Posted

技术标签:

【中文标题】Laravel Vue SPA:如何从 Laravel 正确检索 json 对象并将其打印出来?【英文标题】:Laravel Vue SPA: How to correctly retrieve a json object from Laravel and print it out? 【发布时间】:2020-10-30 20:14:15 【问题描述】:

Laravel Vue SPA:如何从 Laravel 正确检索 json 对象并在 Vue 组件内测试将其打印到 console.log()

json 对象在somedomain.com/channellist 正确可用。 然后由axios 检索。

任何帮助将不胜感激。

Vue 组件:

<template>
    <div id="app">      
            <vue-chat :channels="channels"></vue-chat>  
    </div>
</template>

<script>

  export default 
 
    data() 
      return 
        
        channels: ,
        
      
    ,
   
   methods: 
    
        getChannels()
            this.loading = true
            var url = "/channellist"
                
            axios
              .get(url)
              .then(response => (this.channels = response.data.channels))
            ,     
    ,
    
    watch: 

    ,
    
    components: 
     
    ,
    
    created() 
     
      this.getChannels()
   
    
  
</script>
<style>
    #app 
        margin-left: 1em;
    

    .heading h1 
        margin-bottom: 0;
    
</style>

从 Laravel 返回的 json 对象somedomain.com/channellist:

"channels":["id":1,"name":"channel 1","created_at":"2020-07-10T06:03:14.000000Z","updated_at":"2020-07-10T06:03:14.000000Z","id":2,"name":"channel 2","created_at":"2020-07-10T06:03:14.000000Z","updated_at":"2020-07-10T06:03:14.000000Z","id":3,"name":"channel 3","created_at":"2020-07-10T06:03:14.000000Z","updated_at":"2020-07-10T06:03:14.000000Z"]

【问题讨论】:

【参考方案1】:

由于您在 Promise 中设置了 channels 数据,因此您可以在模板中循环遍历它

注意:将channels: 改为数组channels: []

<template>
    <div id="app">      
       <vue-chat :channels="channels"></vue-chat>
       <div v-for="channel in channles" :key="channel.id">
          <label>Channel Name</label>
          <input type="text" readonly :value="channel.name">
          <br>
          <label>Channel Name</label>
          <input type="text" readonly :value="channel.created_at">
       </div>
    </div>
</template>

【讨论】:

以上是关于Laravel Vue SPA:如何从 Laravel 正确检索 json 对象并将其打印出来?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Laravel 附带 Vue? (SPA 与 MVC)

使用 Laravel 后端部署 Vue SPA

使用Laravel 和 Vue 构建一个简单的SPA

Laravel + Vue.js MPA/SPA 混合结构的建议和思考

如何在 Vue JS 中使用 Laravel 进行身份验证,以便用户在没有登录的情况下无法从 URL 进入他的页面

Vue SPA 的 Laravel 电子邮件验证