如何在映射数组中添加换行符?

时间:2016-05-19 17:45:43

标签: javascript jquery knockout.js

我必须接受KO对象:

var Property= function (data) {
    this.name= ko.observable(data[0].name);
    this.address = ko.pureComputed(function () {
        return data.map(function (prop) {
            return prop.address;
        });
    }, this);
}

JSON'数据'如下:

  

[{ “名称”: “名称1”, “地址”: “地址1”} { “名称”: “名称1”, “地址”: “地址2”}]

当我在页面上显示“地址”属性时,

<span data-bind="text: address"></span>

看起来像这样:

  

地址1,地址2

我的问题是如何使用换行符而不是逗号分隔地址?

  

地址1

     

地址2

我试过了:

    var Property= function (data) {
    this.name= ko.observable(data[0].name);
    this.address = ko.pureComputed(function () {
        return data.map(function (prop) {
            return prop.address + '\n';
        });
    }, this);
}

但输出是:

  

地址1 \ n,地址2 \ n

知道该怎么做吗?

1 个答案:

答案 0 :(得分:3)

\n不是像破坏HTML一样的工作方式。您需要使用适当的布局,至少使用<br />

您可以将这些条目连接起来:

return data.map(function (prop) {
      return prop.address;
}).join('<br/>');

此外,您需要将值绑定为HTML以便保留标记,请使用:

<span data-bind="html: address"></span>