2014-11-20 3 views
3

мне нужна директива ведьма определяет направление текста и добавляет класс как «РТЛ» или «литровых», п для того, чтобы присвоить атрибуты:Как определить направление текста в представлении?

.rtl 
{ 
    text-align: right; 
    direction: rtl; 
} 
.ltr 
{ 
    text-align: left; 
    direction: ltr; 
} 


как я мог проверить выравнивание текста?

ответ

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; 
} 
0

Добавить класс/направление к элементу кузова, а затем добавить t его в файл 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; 
} 

так вы добавляете класс выравнивание текста всякий раз, когда вам нужно что-то выровненное :)

мы используем его в нашем проекте, и он работает как шарм

Смежные вопросы