我需要一个指令女巫确定方向文本并添加一个类为“rtl”或“ltr”,以便分配属性:
.rtl
{
text-align: right;
direction: rtl;
}
.ltr
{
text-align: left;
direction: ltr;
}
如何检查文本的对齐方式?
答案 0 :(得分:4)
当您在视图中处理元素的文本时,通常过滤器比指令更有用:
app.filter('direction', function () {
return function (text) {
var rtlRegex = new RegExp('[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]+');
var textalign = ( rtlRegex.test(text) ) ? 'rtl': 'ltr';
return textalign;
}
});
在视图中
<p ng-class="(item.text | direction)">{{item.text}}</p>
在CSS中定义:
.rtl {
direction: rtl;
}
.ltr {
direction: ltr;
}
答案 1 :(得分:0)
向body元素添加一个类/方向,然后将其添加到您的css文件中:
body.ltr .text-alignment {
text-align: left !important;
}
body.rtl .text-alignment {
text-align: right !important;
}
body.ltr .text-opposite-alignment {
text-align: right !important;
}
body.rtl .text-opposite-alignment {
text-align: left !important;
}
所以你需要在需要对齐的东西时添加类文本对齐:)
我们在项目中使用它,它就像一个魅力