সিএসএস সলিউশন কাজ করে, তবে আপনি স্টাইলিংয়ের উপর সত্যই নিয়ন্ত্রণ পাবেন না। আমার ক্ষেত্রে আমি লাইন বিরতির পরে আরও কিছুটা জায়গা চেয়েছিলাম। এটি (টাইপস্ক্রিপ্ট) পরিচালনা করার জন্য আমি এখানে তৈরি একটি নির্দেশিকা:
function preDirective(): angular.IDirective {
return {
restrict: 'C',
priority: 450,
link: (scope, el, attr, ctrl) => {
scope.$watch(
() => el[0].innerHTML,
(newVal) => {
let lineBreakIndex = newVal.indexOf('\n');
if (lineBreakIndex > -1 && lineBreakIndex !== newVal.length - 1 && newVal.substr(lineBreakIndex + 1, 4) != '</p>') {
let newHtml = `<p>${replaceAll(el[0].innerHTML, '\n\n', '\n').split('\n').join('</p><p>')}</p>`;
el[0].innerHTML = newHtml;
}
}
)
}
};
function replaceAll(str, find, replace) {
return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}
function escapeRegExp(str) {
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}
}
angular.module('app').directive('pre', preDirective);
ব্যবহার করুন:
<div class="pre">{{item.description}}</div>
এটি যা কিছু করে তা হ'ল পাঠ্যের প্রতিটি অংশকে একটি <p>
ট্যাগে আবৃত করে। এর পরে আপনি এটি চাইলেও এটি স্টাইল করতে পারেন।