AngularJS访问ngRepeat中的范围对象属性

时间:2014-10-01 17:00:00

标签: angularjs angularjs-ng-repeat

我正在尝试使用基于ngRepeat项和javascript对象的内容创建div。我的控制器代码如下所示,

  'use strict';

angular.module('proParApp')
  .controller('MainCtrl', function ($scope,$location,protocolService) {

        $scope.entryMap = {
            // standard types
            'boolean'       : 'checkbox',         
            'username'      : 'textfield'
        };


        $scope.parameters = [
            {   
                'Name' : 'boolean',
                'Type' : 'boolean'
            }
        ];

  });

我试图用

创建我的视图
     <div data-ng-repeat="parameter in parameters">
            {{parameter.Name}} {{entryMap[ {{parameter.Type}} ]}}
        </div>

这不起作用。在视图中访问entryMap的正确方法是什么。

3 个答案:

答案 0 :(得分:2)

只需从parameter.Type中移除插值即可。在对象的括号表示访问器内使用插值将导致语法无效。当你已经在插值内部时,你不需要它,插值指令将自动获得针对范围评估的parameter.type

尝试: -

    <div data-ng-repeat="parameter in parameters">
        {{parameter.Name}} {{entryMap[parameter.Type ]}}
    </div>

<强> Demo

答案 1 :(得分:1)

你试过了吗?

<div data-ng-repeat="parameter in parameters">
   {{parameter.Name}} {{entryMap[parameter.Type]}}     
</div>

答案 2 :(得分:1)

这应该对你有用

<div data-ng-repeat="parameter in parameters">
   {{parameter.Name}} {{entryMap[parameter.Type]}}     
</div>

您无需在entryMap

中再次使用{{