2014-06-16 6 views
0

공백이없는 것으로 알고있는 출력물을 포장하려고합니다 (전자 메일 주소). 우리가 이미 가지고있는 함수를 사용하고 있습니다. 그것이하는 일은 문자열과 줄 바꿈을 취해 그 길이를 볼 때마다 문자열을 자르고 br 태그를 삽입합니다.AngularJS 번호가 함수가 아닙니다.

이전에는 일반적인 자바 스크립트 함수 였으므로 각도 함수와 마찬가지로 작동 할 것이라고 생각했습니다. 문제는 그것을 사용하려고 할 때 "숫자가 함수가 아닙니다"라고 생각한다는 것입니다.

$scope.data = { 
       str1:"reallyreallylongstringohwowthisislongwhyarenttherespacesjeezcanthisstringgetanylongerohithinkitsdonenow", 
       str2:"thisstringisntthatlong", 
       str3:"alrightthisoneslongagainreallyreallyreallyreallyreallyreallyreallyreallyreallylong" 
} 

$scope.wrapText = function(strText, wrappedLength){ 
    var outStr; 
    if(strText!=null){ 
     var str = strText.trim(); 

     if(str.length()<wrappedLength) 
     { 
      return strText; 
     } 
     else 
     { 
      outStr = str; 
      var temp = outStr.split("(?<=\\G.{"+wrappedLength+"})"); 
      outStr=""; 
      for(var i = 0; i<temp.length;i++){ 
       temp[i]+="<br>"; 
       outStr+=temp[i]; 
      } 
      return outStr; 
     } 
    } 
    else 
     return strText;  
}; 

와 HTML 페이지에

:

{{wrapText(data.str1, 50)}}<br> 
{{wrapText(data.str2, 50)}}<br> 
{{wrapText(data.str3, 50)}}<br> 

내가 얻을 출력은 각각에 대해 "정의되지 않은"이며, 오류 메시지가 나는 이것에 대한 fiddle 만든 this one

입니다 게다가.

내가 누락 된 항목이 있습니까? 나는 숫자를 함수로 사용하려고하는 것을 보지 못했다 ... 정말로 혼란 스럽다. ...

이 오류 메시지에서 발견 된 다른 모든 것들은 사람들이 시도하고있는 특별한 것들과 관련이있다. 각도로 사용하는 ... 난 그냥 기본적인 기능을 사용하려고 ... 이봐 ...

답변

2

length는 기능이 아닙니다.

if(str.length<wrappedLength) 
     { 
      return strText; 
     } 
+0

나는 그것을 알았지 만 얼굴을 구할 기회를 얻지 못했습니다 ... 나는 당신에게 요점을 줄 것이다. – Hylianux

0

크기와

if(str.length() < wrappedLength) 
     { 
      return strText; 
     } 

1.8에서 사용되지 않는 3.0

사용 .length 대신 .size()

에서 제거 교체하십시오

이 도움이 될 것입니다

if ($('input[name="' + element.name + '"]:checked').length > 0) 

희망

if ($('input[name="' + element.name + '"]:checked').size() > 0) 

.

관련 문제