Я написал программу в виде углов, которая содержит функцию, которая проверяет, находится ли строка в заданном массиве строк. Вот мой угловой код внутри мой контроллер:Угловой не распознает функцию, определенную в контроллере
$scope.currencies = ["EUR", "USD", "GBP"];
$scope.languagesValues = ["en", "nl"];
function searchStringInArray(str, strArray) {
for (var j=0; j<strArray.length; j++) {
if (strArray[j] === str) return j;
}
return -1;
}
$scope.saveGeneralParams = function(){
if (searchStringInArray($scope.paramsGEN.lan.paramUserValue, $scope.languagesValues) === -1){
$scope.paramsGEN.lan.paramUserValue = 'en';
}
if (searchStringInArray.inArray($scope.paramsGEN.cur.paramUserValue, $scope.currencies)=== -1){
$scope.paramsGEN.cur.paramUserValue = 'EUR';
}
//other things.....
В моем HTML коде, у меня есть этот код:
<select id="language" name="language" ng-model="paramsGEN.lan.paramUserValue">
<option ng-repeat="language in languages" value="{{language.value}}">
{{language.name | translate}}
</option>
</select>
<select id="currency" name="currency" ng-model="paramsGEN.cur.paramUserValue">
<option ng-repeat="currency in currencies" value ="{{currency}}">
{{currency}}
</option>
</select>
Но этот код не работает и угловой дисплей мне, что: " Ошибка: a.searchStringInArray не является функцией ".
Как это исправить?
Когда эта функция называется? Кроме того, во втором блоке if вы написали searchStringInArray.inArray -> это не похоже на определение? – aliasav