段落文本中的 Knockout.js 回车

Posted

技术标签:

【中文标题】段落文本中的 Knockout.js 回车【英文标题】:Knockout.js carraige return in paragraph text 【发布时间】:2013-06-29 15:52:52 【问题描述】:

使用knockout.js,如何在绑定到段落<p> 元素的文本属性的文本中包含回车。

在我的 ViewModel 中,我生成了一个文本字符串,该字符串绑定到视图中的 <p>。我想在浏览器用换行符显示的字符串中包含回车符。

在字符串中包含<br />Environment.NewLine 似乎不起作用。

【问题讨论】:

【参考方案1】:

您需要在元素中设置一个 css 属性。 white-space: pre-wrap

<p style="white-space: pre-wrap">First name: <strong data-bind="text: firstName">todo</strong></p>
<p>Last name: <strong>todo</strong></p>

function AppViewModel() 
    this.firstName = "Bert" + " \n " + "Test";
    this.lastName = "Bertington";


// Activates knockout.js
ko.applyBindings(new AppViewModel());

然后代码工作。 \n

【讨论】:

我认为这个解决方案要好得多,因为 javascript 中没有特定于 html 的 html 字符。 绝对是一个更好的解决方案,尤其是在数据是用户编辑的数据的情况下,HTML 解决方案需要使用所见即所得的编辑器,这是完全没有必要的【参考方案2】:

您可以使用html binding。

JS:

function AppViewModel() 
    this.firstName = "Bert<br\>Test";
    this.lastName = "Bertington";


// Activates knockout.js
ko.applyBindings(new AppViewModel());

查看:

<p>First name: <strong data-bind="html: firstName">todo</strong></p>
<p>Last name: <strong>todo</strong></p>

See fiddle

【讨论】:

如果您要这样做,请确保对任何尚未经过 HTML 编码的内容进行编码 谢谢,data-bind="html: ..." 对我有用

以上是关于段落文本中的 Knockout.js 回车的主要内容,如果未能解决你的问题,请参考以下文章

Knockout.js 文本绑定 - 折叠多个空格

python读取word中的段落表图

Knockout.js 将参数绑定到 Data-Target 返回对象而不是文本(手风琴)

图像加载后在 Knockout.js 中淡入容器元素

跨度未解码的 HTML 是 Knockout.js 还是 Jquery 移动服务器?

更新 knockout.js 和 SignalR 库后,knockout-mapping js 不会更新视图中的列表