Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 具有复杂对象的角度选择元素_Angularjs_Html Select_Angular Ngmodel_Ng Options - Fatal编程技术网

Angularjs 具有复杂对象的角度选择元素

Angularjs 具有复杂对象的角度选择元素,angularjs,html-select,angular-ngmodel,ng-options,Angularjs,Html Select,Angular Ngmodel,Ng Options,需要一些关于我正在构建的Angular应用程序中的select元素的帮助 假设我有下面的代码,当在select元素中选择一个选项时,更改每个项的属性“childId”的最佳方法是什么 使用下面的代码,当我选择一个元素时,它将只设置所选对象的“child”属性,我可以理解为什么。我唯一的问题是,我还需要设置'childId'属性,那么实现这一点的正确方法是什么 <div ng-app="CustomApp" ng-controller="CustomCtrl"> <table

需要一些关于我正在构建的Angular应用程序中的select元素的帮助

假设我有下面的代码,当在select元素中选择一个选项时,更改每个项的属性“childId”的最佳方法是什么

使用下面的代码,当我选择一个元素时,它将只设置所选对象的“child”属性,我可以理解为什么。我唯一的问题是,我还需要设置'childId'属性,那么实现这一点的正确方法是什么

<div ng-app="CustomApp" ng-controller="CustomCtrl">
  <table class="table">
    <thead>
      <tr>
        <th>Description</th>
        <th>Child</th>
      </tr>
    </thead>
    <tbody>
      <tr ng-repeat="item in dataItems">
        <td>
          <input name="Item[{{$index}}].Description"
                 value="{{item.description}}"
                 type="text"
                 class="form-control" />
        </td>
        <td>
          <select name="Item[{{$index}}].Child" 
                  ng-model="item.child" 
                  ng-options="ichild as ichild.description for ichild in
                              $parent.childItems track by ichild.id">
            <option value="">Select one option...</option>
          </select>
        </td>
      </tr>
    </tbody>
  </table>
</div>

(function () {
    "use strict";
    var app = angular.module('CustomApp', []);
    app.controller('CustomCtrl', ['$scope', 
      function($scope) {
        $scope.dataItems = [
          { id: 1, description: 'foo one', childId: 1, child: { id: 1, description: 'bar01' }},
          { id: 2, description: 'foo two', childId: 0 },
          { id: 3, description: 'foo three, childId: 2, child: { id: 2, description: 'bar02' }}
        ];

        $scope.childItems = [
          { id: 1, description: 'bar01' },
          { id: 2, description: 'bar02' }
        ];
      }]);
})();

描述
小孩
选择一个选项。。。
(功能(){
“严格使用”;
var-app=angular.module('CustomApp',[]);
app.controller('CustomCtrl',['$scope',
职能($范围){
$scope.dataItems=[
{id:1,描述:'foo one',childId:1,child:{id:1,描述:'bar01'},
{id:2,description:'foo two',childId:0},
{id:3,描述:'foo-three,childId:2,child:{id:2,描述:'bar02'}
];
$scope.childItems=[
{id:1,description:'bar01'},
{id:2,说明:'bar02'}
];
}]);
})();

我想,这就是你想要做的[实际上我希望]:


描述
小孩
{{item.description}
{{item.child}
(功能(){
“严格使用”;
var-app=angular.module(“CustomApp”,[]);
app.controller(“CustomCtrl”、[“$scope”,
职能($范围){
$scope.dataItems=[{
id:1,
描述:“foo one”,
孩子:1,
儿童:[{
id:1,
说明:“bar01”
}]
}, {
id:2,
描述:“富二号”,
childId:0
}, {
id:1,
描述:“富三”,
孩子:2,
儿童:[{
id:2,
说明:“bar02”
}]
}];
$scope.childItems=[{
id:1,
说明:“bar01”
}, {
id:2,
说明:“bar02”
}];
}
]);
})();