我尝试使用Durandal来显示消息,但我无法理解如何突破,所以我将所有信息都放在一行中。 任何人都可以帮忙吗?
HTML
if(bid.exposed){
var msg = 'Bidder details : ' +
"\n" + 'Business Name : '+ bid.businessName +
"\n" + 'Username' : ' + bid.fullName;
app.showMessage(msg, Expose, 'Confirm');
}
答案 0 :(得分:1)
尝试在显示消息时处理html时,请尝试将/n
更改为<br/>
。
if(bid.exposed){
var msg = 'Bidder details : ' +
"<br/>" + 'Business Name : '+ bid.businessName +
"<br/>" + 'Username' : ' + bid.fullName;
app.showMessage(msg, Expose, 'Confirm');
}
修改强>
深入研究代码,文件scripts/durandal/dialog.js
包含对话框的代码。
这是为对话框生成HTML的代码。
MessageBox.defaultViewMarkup = [
'<div data-view="plugins/messageBox" class="messageBox">',
'<div class="modal-header">',
'<h3 data-bind="text: title"></h3>',
'</div>',
'<div class="modal-body">',
'<p class="message" data-bind="text: message"></p>',
'</div>',
'<div class="modal-footer" data-bind="foreach: options">',
'<button class="btn" data-bind="click: function () { $parent.selectOption($data); }, text: $data, css: { \'btn-primary\': $index() == 0, autofocus: $index() == 0 }"></button>',
'</div>',
'</div>'
].join('\n');
我们如何试图显示细节的问题在线
'<p class="message" data-bind="text: message"></p>',
根据knockout.js Documentation on text binding,它不会呈现html元素。
有几种选择。
我认为最好的做法是创建自己的对话框模板,以显示您想要的信息。有关如何在(dfiddle) durandal samples.中执行此操作的示例 Durandal Sample ZIP file
答案 1 :(得分:1)
您可以使用我的dialog.js版本,我已经请求将其拉到2.1.0分支,该分支仍在工作中。您可以在以下位置找到我的dialog.js版本:
https://github.com/TommiGustafsson/Durandal/blob/master/src/plugins/js/dialog.js
在该版本中,我已将文本绑定更改为html绑定以及许多其他改进。然后,您可以使用&lt; br /&gt;标记或消息框中的任何其他html。如果您想了解我所做的其他改进,您可以在以下文章中了解它们: