如何在 vue js 中显示以逗号分隔的库存中的内容?

Posted

技术标签:

【中文标题】如何在 vue js 中显示以逗号分隔的库存中的内容?【英文标题】:How can I able to display content in inventory seperated by commas in vue js? 【发布时间】:2018-04-25 20:01:00 【问题描述】:

我的json数据是

 "status": true,
  "data": 
    "pid": 9,
    "Name": "Asok",
    "services": "3, 1, 2, 4, 5, 6",
    "inventory": ["specs", " Testing", "Lens", "Doctors", "Surgeon", "Medicines"]
  

现在我用html作为

<div v-for="inv in data.inventory">inv</div>

当我这样做时,数据正在向下打印..我需要连续显示用逗号分隔的数据??

【问题讨论】:

inv.join(',') 【参考方案1】:

您的标签的display 必须合适,因为divblock,意味着它将获得行的整个宽度。所以下一个元素将放在它下面。默认情况下,您可以使用span 标签来代替div,将值逐个设置。或者您需要更改当前div 元素的display 属性。

<div>
   <span v-for="inv in data.inventory">inv</span>
</div>

让我用jQuery来展示例子,而不是vue.js,但逻辑是一样的,不是vue或jquery-s的问题。

const obj =  "status": true,
  "data": 
    "pid": 9,
    "Name": "Asok",
    "services": "3, 1, 2, 4, 5, 6",
    "inventory": ["specs", " Testing", "Lens", "Doctors", "Surgeon", "Medicines"]
  
;

let str = '';

obj.data.inventory.forEach(ivt => 
  str += `<div>$ivt</div>`;
);

$('#myFirstDiv').html(str);
str = '';

obj.data.inventory.forEach(ivt => 
  str += `<span>$ivt</span>`;
);

$('#mySecondDiv').html(str);
str = '';

obj.data.inventory.forEach(ivt => 
  str += `<div class='inline-block'>$ivt</div>`;
);

$('#myThirdDiv').html(str);
div.inline-block 
   display: inline-block
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
With divs
<div id='myFirstDiv'>

</div>
<br/>
With spans
<div id='mySecondDiv'>

</div>
<br/>
With changed display
<div id='myThirdDiv'>

</div>

【讨论】:

【参考方案2】:

你可以通过使用 span 而不是 div 来做到这一点

<span v-for="inv in data.inventory">inv, </span>

不幸的是,你最终会得到一个逗号:-/

也许这是您应该进行一些 JS 预处理并保持模板简单的情况之一,例如:

<div>data.inventory.join(', ')</div>

这将毫不费力地解决尾随逗号问题。

【讨论】:

【参考方案3】:

div 是块元素,因此请使用内联元素,例如 span。至于逗号,在除最后一个之外的所有元素上都加上,例如:

<div>
   <span v-for="inv, index in data.inventory" v-if="index != data.inventory.length - 1">inv,</span>
   <span v-else>inv</span>
</div>

Working fiddle

【讨论】:

以上是关于如何在 vue js 中显示以逗号分隔的库存中的内容?的主要内容,如果未能解决你的问题,请参考以下文章

Google表格中的笛卡尔/交叉连接以获取逗号分隔值

如何在vue js中用逗号分隔的字符串中发布子类别?

使用 laravel 和 vue js 从 mysql 数据库中检查带有逗号分隔值的复选框

PHP mysql - 以表格形式显示数据库中的逗号分隔值

如何获取以逗号分隔的列值

如何将在一行中输入的以逗号分隔的数字放入Java中的数组中