javascript
  • wcf
  • angularjs
  • dictionary
  • model-binding
  • 2013-11-20 51 views 4 likes 
    4

    在我的页面上,我从数据库动态生成输入标签。这些领域可能看起来像:如何在AngularJS中创建类似模型绑定的字典

    <input id='customField-Street' type='text' /> 
    <input id='customField-Height' type='text' /> 
    <input id='customField-IsBlack' type="checkbox" /> 
    <select id='customField-Car'> 
        <option value="volvo">Volvo</option> 
        <option value="saab">Saab</option> 
    </select> 
    

    我需要找到一种方法来设置一个模型,如下键值格式绑定:

    $scope.customFieldsDictionary = [{ 
        "Key": "customField-Street", 
        "Value": "SomeStreet" 
    }, { 
        "Key": "customField-Height", 
        "Value": "125" 
    }, { 
        "Key": "customField-IsBlack", 
        "Value": "true" 
    }, { 
        "Key": "customField-Car", 
        "Value": "volvo" 
    }]; 
    

    我需要有键值格式,因为我的服务接受该格式的自定义数据。

    问题: 如何设置AngularJS像格式指定字典输入字段和$scope.customFieldsDictionary场之间的双向绑定。

    回答

    4
    <div ng-repeat="obj in customFieldsDictionary"> 
    
        <input ng-model="obj.Value" id='{{obj.Key}}' ng-if="obj.Key == 
        'customField-Street' || obj.Key == 'customField-Height'" type='text'/> 
    
        <input ng-model="obj.Value" id='{{obj.Key}}' ng-if="obj.Key == 
        'customField-IsBlack'" type="checkbox" /> 
    
        <select ng-model="obj.Value" id='{{obj.Key}}' ng-if="obj.Key == 
        'customField-Car'" ng-options="car for car in cars"></select> 
    </div> 
    

    控制器:

    function ctrl($scope){ 
        $scope.cars = ["Volvo","Saab"]; 
        $scope.customFieldsDictionary = [{ 
         ... 
        }]; 
    } 
    
    相关问题