ng-model使用两个动态值

时间:2016-08-05 04:17:43

标签: angularjs

我正在尝试使用检查列表,其中ng-model将基于两个动态值绑定所选数据。 我的代码是:

<div ng-repeat="individualFieldInfo in formInatiatingData">
       <div ng-repeat="individualListItem in individualFieldInfo.list"
           <input type="checkbox" ng- model=
   "userGivenData[individualFieldInfo.fieldName][individualListItem.value]">   
              {{individualListItem}}
            </div>
</div>

在这里,

 userGivenData[individualFieldInfo.fieldName][individualListItem.value]"

不是工作。 我的JSON是:

 $scope.userGivenData={

 }
$scope.formInatiatingData =  [
   {
        type:"checkList",
        fieldName:"Fruit",
        list : [
            {
                id:1,
                value:"mango"
            },
            {
                id:2,
                value:"Banana"
            },
            {
                id:3,
                value:"Jackfruit"
            }
        ]
    }
]

对于单个动态绑定,userGivenData [individualFieldInfo.fieldName]正在运行。但是,对于两个动态值,它不起作用。 我正在寻找一种方法,如果用户选中一个复选框,它将被绑定在userGivenData.fieldName.value

1 个答案:

答案 0 :(得分:2)

&#13;
&#13;
angular.module('myApp', [])
.controller('MyController', function($scope){
  $scope.someComplex = {
    someInnerObj: {
      thisIsAProperty: 'withSomeValue'
    }
  };
  
  $scope.thing1 = 'someInnerObj';
  $scope.thing2 = 'thisIsAProperty';

})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>


<div ng-app="myApp" ng-controller="MyController">
  <pre>{{someComplex|json}}</pre>
  <pre>{{someComplex[thing1][thing2]}}</pre>
  <input type="text" ng-model="someComplex[thing1][thing2]"/>
</div>
&#13;
&#13;
&#13;

在一个测试用例中,这确实有效...你能输出更多你在那里显示的数据对象值,就像我在这里使用json过滤器和pre标签做的那样吗?