2016-03-26 21 views
0
Ben

bir ui.bootstrap confirmdlg ait bodytext (yeni çizgiler) biçimlendirebilirsiniz? Bu iyi çalışırBen ui.bootstrap kalıcı iletişim benim angularjs-komut

var modalDlgOptions = { 
    closeButtonText: "No", 
    actionButtonText: "Yes", 
    headerText: "my header text", 
    bodyText: "my body text" 
}; 
confirmDlg.showModal({}, modalDlgOptions).then(function (result) { 
    // todo something   
});  

. Ama şimdi bodyText'i biçimlendirmek istiyorum.

first line in my body text 
second line in my body text 
... 
last line in my body text 

ben

first line in my body text<br>second line in my body text<br>...<br>last line in my body text 
benim iletişim çıktısında

ancak değil almak

bodyText: "first line in my body text<br>second line in my body text<br>...<br>last line in my body text"; 

veya

bodyText: "first line in my body text&lt;br&gt;second line in my body text&lt;br&gt;...&lt;br&gt;last line in my body text"; 

kullanın: Böyle yeni satırlar ihtiyaç yeni hatlar.

confirmDlg'in bodyText'ini biçimlendirmek mümkün mü ve nasıl? Yorumlar için

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);  

Teşekkür Thomas

+0

Bu çözüm buldu, senin ipuçları için – Konkko

+2

'un içindeki satırın 'ng-bind-html'yi kullanması ve' ngSanitize' komut dosyasını uygulamada içermesi gerekir ... bkz. docs – charlietfl

+1

Daha iyi bir çözüm, daha fazla bakım yapılabilir, html kısmi ve adil bir yer kullanmaktır HTML'iniz orada - kodu çok daha okunabilir hale getirecek. Modal denetiminde 'templateUrl' bölümüne bakın - https://angular-ui.github.io/bootstrap/ –

cevap

0

Thomas

teşekkür ederiz
`'ü denediniz mi?

0

önceki çözüm iyileştirilmesi:

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"; 
     }); 
İlgili konular