2014-12-20 2 views
-1

필자는 필 요한 것보다 많은 정보를 제공하는 API를 사용하고 있습니다.각도에서 문자열을 파싱합니다.

현재 {{행 [ 'gametime는']는 [ '텍스트']}}이 다시 제공 :

8:25 

:

내 목록에서
Tennessee Titans at Jacksonville Jaguars - 8:25 pm Game Preview 

, 나는 그냥으로 표시해야 여기에 각도 NG-리피터는 다음과 같습니다

<ion-item ng-repeat="row in data"> 

     <span class="gametime">{{row['gametime']['text']}}</span> 
     </ion-item> 

나는 단지 수를 표시 그래서 {{행 [ 'gametime'] [ '텍스트']}} 텍스트를 수정하려는. Angular (또는 JS/jQuery)에서 문자열에 나오는 숫자를 파싱하는 방법이 있습니까?

+0

당신이 중 하나를 수행하는 네이티브 JS 문자열 방법을 사용해야합니다 필터를 받거나 데이터를 매핑 할 때 약간의 시간이 걸릴 수 있습니다. – charlietfl

+0

필터를 어떻게 만들려고합니까? – beaconhill

+0

필터 문서를 읽는 것으로 시작하십시오. 마크 업에서 컨트롤러 기능을 사용하여 수행 할 수도 있습니다. – charlietfl

답변

3

당신은 ng-filter

JS를 사용할 수 있습니다

myApp.filter('getTime', function() { 
    return function (data) { 

// find in string data.match(/(\d+):(\d+)/ two numbers, and get it 
// (data.match(/(\d+):(\d+)/) || [])[0] this line similar to this code but more shorter 
// var time = data.match(/(\d+):(\d+)/ 
// if (time && Array.isArray(time)) { 
// return time[0]; 
// } 

     return typeof data === 'string' ? (data.match(/(\d+):(\d+)/) || [])[0] : data; 
    }; 
}); 

HTML :

<span class="gametime">{{row['gametime']['text'] | getTime}}</span> 

데모 : http://jsfiddle.net/HB7LU/9386/

+0

정말 고마워요! – beaconhill

관련 문제