繁体   English   中英

如何更改我的Angularjs $ scope以接受JavaScript变量类型字符串

[英]How to change my Angularjs $scope to accept a JavaScript variable type string

我有以下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;
  }

我所看到的图像:

在此处输入图片说明

我遇到的问题是我的表格,我有以下内容:

<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"检索从列表而不是从用户输入中获取的列表。

我认为@FrankModica的意思是,如果您需要在范围内存储一个zip(字符串)数组,则可以执行此操作,而不是将其视为JSON对象:

$scope.Zips = [];

getZipCodes()返回一个数组,您将得到所寻找的东西。

如果您要保持getZipCodes() ,则只需声明var而不使用类型或为空字符串即可:

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

您可能需要重新考虑将值作为单个字符串传递到$scope中,但是如果确实适合您的用例,则可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM