2013-12-21 3 views
1

중괄호로 언어 문제를 해결하려고합니다.오른쪽에서 왼쪽 중괄호 방향 문제, 각도

나는 테이블을 가지고 있고 내가 좋아하는 td의를 채울 : biz_name 히브리어 나 영어로 수 있습니다

<td>{{item.biz_name + ' \(' + item.id + '\)'}}</td> 

.

기본적으로 나는 모든 테이블 행에 대해 direction: rtl; 스타일을 사용합니다. ltr으로 변경하면 결과가 바뀝니다.

일부 정보는 HERE인데 많은 도움이되지 않습니다.

해결 방법은 영문자가 들어있는 td에 대한 스타일 (ng-style)을 변경하는 것입니다.

따라서 if 문 : if Eng => 집합 스타일 ltrrtl이어야합니다.

각도로 어떻게하면됩니까?

감사 여기서

Fiddle

하십시오 (19 행)이다

enter image description here

[EDIT]

그것은 크롬 잘 IE9-10에 있지만 작동

답변

2

이 함께 할 수 없다 모난.

이것은 괄호 (및 괄호)에도 고유 한 "방향"이 없다는 사실과 관련이 있습니다. 따라서 브라우저가 텍스트 RTL을 렌더링 할 때 방향 문자 (단어 문자)로 둘러싸이지 않기 때문에 다른 쪽에서 실행되는 첫 번째 괄호의 방향을 알지 못하므로 상대방으로 점프합니다 그것을 "비추"(뒤집기)합니다.

<div style="direction:rtl">Some Value (test)&#x200E;</div> 
  • :

    1. 가 HTML에서 LRM 문자를 사용

      그래서, 당신은 당신은 너무 두 가지 방법이 할 수있는 ... 브라우저가 당신의) 방향을 가지고 있음을 알려해야

      사용 CSS 스타일링 :

      <style> 
      .left-to-right-marked:after { 
          content: "\200E"; 
      } 
      </style> 
      <div style="direction:rtl"> 
          <span class="left-to-right-marked">Some Value (test)</span> 
      </div> 
      

    어느 쪽이든 할 것입니다.

    Here is an updated Fiddle, that's working with the ‎ fix


    편집 : 각도 노트에 다른 이유로 사용자가 대기하는 동안 발생할 수 있습니다 "부하 깜박임"을 방지하는 것보다, 내가, {{myValue}}을 통해 ng-bind="myValue"를 사용하는 것이 좋습니다 것 모듈이 부트 스트랩하도록.

  • +0

    흥미로운 질문은 이유가 무엇입니까? 괄호 (및 대괄호도) 고유 한 "방향"이 없지만 CSS에 "rtl"이 분명히 표시되어 있더라도? – allenhwkim

    1

    이 CSS direction 속성은 정확하게 작동하며 히브리어에 대해 아무 것도 모릅니다. 그러나 이것이 도움이 될 것 같습니다.
    해당 td 요소에 ng 클래스를 추가했습니다.

    <td ng-class="{hebrew: !english(item.biz_name)}">{{item.biz_name + ' \(' + item.id + '\)'}}</td> 
    

    그리고

    나는 범위에 다음 함수를 추가 :

    $scope.english = function(string) { 
        return string.match(/[a-zA-Z]+/); 
    }; 
    

    이 비 라틴 문자가 포함 된 모든 item.biz_name 값에 대한 히브리어 클래스를 적용한다.

    1

    첫째, 겨 스타일을 해당 필터를 사용하여 필터를

    fessmodule.filter('direction', function() { 
        return function (text) { 
        return text.match(/^[a-z]/i) ? 'ltr' : 'inherit'; 
        } 
    }); 
    

    둘째를 사용하여 텍스트의 방향을 얻을

    <td ng-style="{direction:(item.biz_name|direction)}" ... 
    

    데모 : http://jsfiddle.net/SAWsA/945/

    관련 문제