2016-03-12 5 views
0

Я создаю собственный фильтр для своего выражения. И это работает как-то. в любом случае я продолжаю получать ошибку, которую я не могу понять, почему? ошибка: "Ошибка типа: Не удается прочитать свойство 'разделить' нулевых"Ошибка возврата углового пользовательского фильтра

Это мой фильтр:

LeadApp.filter("q_Filter", function() { 
    return function (input, splitChar, index) { 
     if (index === 1) { 
      q_a = input.split(splitChar); 
      return q_a[1]; 
     } 
     else { 
      q_a = input.split(splitChar); 
      return q_a[0]; 
     } 
    }; 
}); 

Вот вид:

<tr ng-repeat="select in lead_selection" ng-show="select.length && $index > 4"> 
    <td> 
     <i class="fa fa-circle-thin"></i> 
     <strong>{{ select | q_Filter:' | ':0 | uppercase }}</strong> <br /> 
     <p class="p-l-1">{{ select | q_Filter:' | ':1 }}</p> 
    </td> 
</tr> 

ответ

2

Вы должны проверить input является null или нет до split входное значение.

эта ошибка отображается, поскольку ваш input был null или empty

LeadApp.filter("q_Filter", function() { 
    return function (input, splitChar, index) { 

     if(!input) { 
      return ''; 
     } 

     if (index === 1) { 
      q_a = input.split(splitChar); 
      return q_a[1]; 
     } 
     else { 
      q_a = input.split(splitChar); 
      return q_a[0]; 
     } 
    }; 
}); 
+0

работает как шарм ... благодарит выделение! –

0

Просто проверку на входе, что вход должен иметь какое-то значение перед вызовом

input.split(splitChar) 

и еще одну вещь, чтобы убедиться, что вход содержит splitChar, а также

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