【发布时间】:2015-10-07 11:21:21
【问题描述】:
在 Angular 应用程序中,我从服务中检索地址列表,该服务返回如下对象:
{
Flat: "10B",
BuildingName: "Some Building",
Line: "10B Some Building Road Town POST CODE",
Postcode: "POST CODE",
Street: "Road",
Town: "Town"
}
一旦这些数据被传递到控制器中,我需要将地址显示为带有逗号的单行。我使用过滤器添加逗号(Line 的值在这里没有用,因为它不包含逗号)。然后将数据呈现在 html 中,如下所示:
<a>{{ address.Flat | joinBy: ',' }} {{ address.BuildingName | joinBy: ',' }} {{ address.BuildingNumber }} etc...</a>
当其中一个表达式包含空值(例如,地址没有建筑物名称)时,用户界面会忽略它,以便用户看起来一切正常。但是页面源代码在空表达式所在的位置包含一个额外的空格。
记录<a> 元素表明它是outerHTML、innerHTML 或innerText 或文本没有任何额外的空白。
因为html中的表达式之间有空格,所以当有空表达式时,它们会留在里面。
有什么方法可以使用 angular 从页面源中去除空格,还是我应该只使用 vanilla js 并通过正则表达式运行字符串?
【问题讨论】:
-
好的,我有一个解决方案 - 编写 html,表达式之间不带任何空格,但使用 joinBy 过滤器将空格重新添加!
标签: javascript angularjs whitespace