angularjs - 如何确定 View 中文本的方向?

标签 angularjs angularjs-filter

我需要一个指令来确定方向文本并添加一个类作为“rtl”或“ltr”,n 以便分配属性:

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


如何检查文本的对齐方式?

最佳答案

当您处理 View 中元素的文本时,过滤器通常比指令更有用:

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

在 View 中

<p ng-class="(item.text | direction)">{{item.text}}</p>

在 CSS 中定义:

.rtl {
    direction: rtl;
}

.ltr {
    direction: ltr;
}

关于angularjs - 如何确定 View 中文本的方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27035710/

相关文章:

javascript - 在 ajax 请求之前对数据应用 Angular ng-repeat orderBy 和过滤器

javascript - "Unknown Provider"将自定义过滤器注入(inject)服务时

javascript - Angularjs 过滤器不为空

javascript - Angular Directive(指令) - 要求包含?

javascript - Angular JS 自定义过滤器

javascript - 在 Angular 范围外调用函数的正确方法是什么?

javascript - HTML 中 Angular ng- 属性的安全问题及缓解措施

javascript - Angular 过滤器有效,但将输入视为未定义并抛出错误

angularjs - 使用 AngularJS 裁剪图像

javascript - 如何动态地将动态指令添加到我的 Angular 应用程序中?