javascript - 如何使用 angular ng-repeat 遍历 javascript Map

标签 javascript angularjs angularjs-ng-repeat

我正在开发一个 Angualr 应用程序,我们有一个 Map 对象(如下所示)。 map 对象 (headerObj) 的键和值来自用户作为应用的输入,

  var headerObj = new Map();
  headerObj.set(key,value);

我正在使用 foreach 遍历它们,如下所示,输出符合预期

           $scope.inputHeaders.forEach(function (headerkey, headervalue) {
                     console.log(headerkey, headervalue; 

                });

但是我必须在 UI 中显示这个 map 值,用户可以再次编辑,所以我绑定(bind)了它们

          <li class="list-group-item" ng-repeat="header in inputHeaders">
              <div ng-repeat="(key, value) in header">
                  {{key}} : {{value}}
             </div>
          </li>

我用谷歌搜索并尝试了几种方法,但没有任何帮助,所以基本上我想知道如何使用 forEach 在 angular 中迭代 map ?

只是为了更清楚地说明我的要求是这样的:我需要将值作为键值对传递给服务器,前提是我没记错,假设如果我使用对象属性,对象的键将修复类似

       {"key":"Content-Type","value":"application/x-www-form-urlencoded","$$hashKey":"003"}]

但是我的服务器期待类似的东西

        "Content-Type" => "application/x-www-form-urlencoded"

创建了一个 plunkr 编辑 http://plnkr.co/edit/t2g6Dl831HGyjD6uSdf3?p=preview

最佳答案

AngularJS 1.x 不知道如何使用 Javascript 迭代器,因此您必须先使用 Array.from() 将 Map 对象转换为数组。 .

Controller :

$scope.inputHeadersArray = Array.from($scope.inputHeaders);

查看:

<li class="list-group-item" ng-repeat="header in inputHeadersArray">
  {{header[0]}} : {{header[1]}}
</li>

关于javascript - 如何使用 angular ng-repeat 遍历 javascript Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27582501/

相关文章:

javascript - 如何在 Mac 上设置 ReactJS?

javascript - 严格模式下获取当前函数名

javascript - 在alasql(AngularJS)的SQL语句中使用 "AS"子句

angularjs - Ionic 中的自动完成

javascript - AngularJS:如何以 Angular 隐藏单击的元素?

javascript - 如何突出显示搜索结果的颜色

javascript - 无法从 JS 传递 VLC Mozilla 插件的选项

javascript - 是否可以在输入框中显示大写文本但用户复制小写形式?

javascript - Angular 方法(常量、配置、运行、工厂、服务),调用它们的顺序重要吗?

javascript - 我可以实例化一个变量,但稍后再为 value 赋值吗?