【发布时间】:2018-12-20 15:37:56
【问题描述】:
我有两个 vue 属性 firstName 和 lastName。假设这些属性的值是 Tim 和 Smith。当我将它们显示为完整名称时,我会显示这些属性并在它们之间包含一个空格(如果它们都包含值)。但是,Vue 会省略输出中的空格并显示 TimSmith。但是,如果我更改代码以输出逗号空格,如果两个属性都有值,那么它会正确输出 Tim,Smith。感觉是个bug。谁能解释如何使用 Vue 实现我的目标,即如果两个属性都包含值,则它们之间只包含一个空格,并解释为什么我看到我是什么?
<html>
<head>
</head>
<body>
<div id="appTemplate">
{{firstName}}<template v-if="firstName!='' && lastName!=''"> </template>{{lastName}}<br />
{{firstName}}<span v-if="firstName!='' && lastName!=''"> </span>{{lastName}}<br />
{{firstName}}<template v-if="firstName!='' && lastName!=''">, </template>{{lastName}}<br />
{{firstName}} {{lastName}}<br />
</div>
<script src="https://unpkg.com/vue@2.2.5/dist/vue.min.js"></script>
<script type="text/javascript">
var app = new Vue({
el: '#appTemplate',
data: {
firstName: "Tim",
lastName: "Smith"
}
});
</script>
</body>
</html>
上面的代码产生下面的输出。为什么前两行 Tim 和 Smith 之间没有空格?
【问题讨论】: