如果 vue js 中的 json 响应中没有数据,如何显示“无数据”?

Posted

技术标签:

【中文标题】如果 vue js 中的 json 响应中没有数据,如何显示“无数据”?【英文标题】:How can I able to display "No data" if there is no data in the json response in vue js? 【发布时间】:2018-05-07 04:45:07 【问题描述】:

当没有数据时,什么都不显示。当数据为空时,任何人都可以帮我打印一条消息为“无搜索结果”。我是第一次做工作,只有基本的想法。请帮我解决这个问题?

数据为空时我的json数据是:

 "status": true, "data": [] 
searchContent = new Vue(
  el: "#searchContent",
  data: 
    vector: 
  
);

categories = new Vue(
  el: '#categories',
  data: 
    category: 0,
    subcategory: 0,
    content: false
  ,
  watch: 
    subcategory: function(e) 
      this.prefetch();
    ,
    category: function(e) 
      this.prefetch();
    ,
  ,
  methods: 
    prefetch: function() 
      var filter = ;
      filter['category'] = this.category;
      filter['subcategory'] = this.subcategory;
      if (this.content !== false)
        this.content.abort()
      this.content = $.ajax(
        'url': 'filter/',
        data: filter,
        dataType: "JSON",
        type: "POST",
        success: function(e) 
          window.searchContent.vector = e.data;
          console.log(e);
        
      )
    
  
)
<div id="searchContent">
  <div v-for="row in vector">row.bussinessName</div>
  <div>

【问题讨论】:

【参考方案1】:

您应该在标记中完全做到这一点。试试这个...

<div id="searchContent">
  <div v-for="row in vector">row.bussinessName</div>
  <div v-if="vector.length === 0">No search results</div>
<div>

【讨论】:

【参考方案2】:

检查数据长度成功。

success: function(e) 
       if(e.data.length > 0)
          window.searchContent.vector = e.data;
         else
           window.searchContent.vector= 'No search reults'
        

【讨论】:

一些空值正在打印 console.log(e.data.length) 检查数据为空时的长度。 0来了/..如果没有数据我需要显示图像

以上是关于如果 vue js 中的 json 响应中没有数据,如何显示“无数据”?的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 响应映射到 Vue.js 中的模型类

如何从动态列表中为 Vue 中的 API 响应创建列表渲染 JSON?

Vue.JS 从 JSON 对象打印空值

在 Vue.JS 中显示 Axios 响应数据

如何使用vue js循环嵌套的json响应

Vue.js数据响应基础原理