Как изменить мою область видимости Angularjs $ для приема строки типа переменной JavaScript - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть следующая область видимости angularjs:

$scope.Zips = {};

Есть ли способ для моей области видимости angularjs принять переменную, которая является строкой? Я хотел бы получить свою строку (то есть список) в следующей функции:

$scope.GetCurrentZip = function (){
    try{
        $scope.Zips = $parse(getZipCodes());
    } catch(err) {

    }
}

Ниже приведена функция в JavaScript, которая извлекает список почтовых индексов:

function getZipCodes() {
        var miles = document.getElementById("miles").options[document.getElementById("miles").selectedIndex].innerHTML;
        var zip = document.getElementById("zip").value;
        var zips_within_radius = document.getElementById("zipsWithinRadius");
        // debugger;
        if (typeof zip === 'undefined' || typeof miles === 'undefined' || !zip.length || !miles.length) return false;

    var zips = getZips();
        var zip_list = "";
    if (zips.length) {
            zip_list = zips.join();
            zips_within_radius.value = zip_list;
    }
        return zip_list;
  }

Изображение на том, что я вижу:

enter image description here

У меня проблема в моей форме, у меня есть следующее:

<input allow-pattern="[\d\W]" class="form-control" id="zip" maxlength="5"
       ng-model="searchParam.Zip" placeholder="Zip code" type="text" />

Я бы хотел, чтобы ng-model="searchParam.Zip" получил список, который я получаю из списка, вместо ввода пользователя.

1 Ответ

0 голосов
/ 13 ноября 2018

Я думаю, что @FrankModica говорит, что если вам нужно сохранить массив zips (строк) в вашей области видимости, вы можете сделать это вместо того, чтобы думать об этом как об объекте JSON:

$scope.Zips = [];

Пусть getZipCodes() вернет массив, и вы получите то, что, кажется, ищете.

Если вы хотите сохранить getZipCodes() таким, как он есть, просто объявите переменную без типа или в виде пустой строки:

$scope.Zips;
$scope.Zips = '';

Возможно, вы захотите пересмотреть передачу значения в $scope в виде одной строки, но если это действительно работает для вашего варианта использования, то вы идете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...