У меня в моем AngularJS-скрипте есть ui.bootstrap confirmdlg:
var modalDlgOptions = {
closeButtonText: "No",
actionButtonText: "Yes",
headerText: "my header text",
bodyText: "my body text"
};
confirmDlg.showModal({}, modalDlgOptions).then(function (result) {
// todo something
});
Это прекрасно работает. Но теперь я хочу отформатировать bodyText. Мне нужны новые строки:
first line in my body text
second line in my body text
...
last line in my body text
Когда я использую
bodyText: "first line in my body text<br>second line in my body text<br>...<br>last line in my body text";
или
bodyText: "first line in my body text<br>second line in my body text<br>...<br>last line in my body text";
я получил
first line in my body text<br>second line in my body text<br>...<br>last line in my body text
в выводе моего диалога, но не в новых строках.
Можно ли форматировать bodyText подтвержденияDlg и как?
Спасибо за ваши советы, Томас
Улучшение предыдущего решения:
var waitForElementByClassName = function(element, timeout, callBack) {
window.setTimeout(function(){
if (document.getElementsByClassName(element)[0]){
callBack(document.getElementsByClassName(element)[0]);
} else {
waitForElementByClassName(element, timeout, callBack);
}
}, timeout);
};
waitForElementByClassName("modal-body", 50, function(element) {
element.innerHTML = "first line in my body text<br />second line in my body text<br /> ... <br />last line in my body text";
});
Я нашел это решение:
var modalDlgOptions = {
closeButtonText: "No",
actionButtonText: "Yes",
headerText: "my header text",
bodyText: ""
};
confirmDlg.showModal({}, modalDlgOptions).then(function (result) {
// todo something
});
setTimeout(function() {
var modalBody = document.getElementsByClassName("modal-body");
modalBody[0].innerHTML = "first line in my body text<br />second line in my body text<br /> ... <br />last line in my body text";
}, 100);
Спасибо за комментарии, Томас
<br />
или заключили строку в<p></p>
ng-bind-html
и включить скриптngSanitize
в приложение ... см. документацию