Javascript 在AngularJS中创建动态ng模型

Javascript 在AngularJS中创建动态ng模型,javascript,html,angularjs,loops,angularjs-scope,Javascript,Html,Angularjs,Loops,Angularjs Scope,工作守则如下: 在这种情况下,如果您从下拉列表中选择数字并填充数据,然后单击并检查控制台,您将看到如下结果- [ Object { start_time="12Start", end_time="12END"}, Object { start_time="34start", end_time="786"}, Object { start_time="123", end_time="5656"}, Object { start_time="098", end_tim

工作守则如下:

在这种情况下,如果您从下拉列表中选择数字并填充数据,然后单击并检查控制台,您将看到如下结果-

[
    Object { start_time="12Start", end_time="12END"},
    Object { start_time="34start", end_time="786"},
    Object { start_time="123", end_time="5656"},
    Object { start_time="098", end_time="77"},
    Object { start_time="75757", end_time="57567"}
]
现在如果您选中,则有两个数组-
$scope.shiftstart
|
$scope.shiftend

我正在循环使用这些方法,但这种方法的一个问题是-

1) 它需要依赖于数组的相等长度

2) 如果有人离开了第一个结束时间输入字段,那么它在控制台中是未定义的


我想的是不要使用-separate
ng model=“shiftstart[shiftnumber]”
&
ng model=“shiftend[shiftnumber]”
我可以使用包含多个对象的单个数组,但我无法集成解决方案,让我知道我可以在我的代码中修改什么来实现这一点。

如果我正确理解了你的问题,我认为你把事情复杂化了。如果您想:

  • a) 有班次列表,可以从中选择班次,以及
  • b) 能够编辑所选班次
那么以下就是您所需要的全部内容:

ctrl

$scope.shifts = [
  { nr: 1, start_time: "12Start", end_time: "12END" },
  { nr: 2, start_time: "34start", end_time: "786"   },
  { nr: 3, start_time: "123",     end_time: "5656"  },
  { nr: 4, start_time: "098",     end_time: "77"    },
  { nr: 5, start_time: "75757",   end_time: "57567" }
];

$scope.active = null;
<h3>Select a shift</h3>
<select
  data-ng-model="active"
  data-ng-options="shift as shift.nr for shift in shifts"
></select>

<div data-ng-show="active">
  <h3>Edit start/end</h3>
  start time <input data-ng-model="active.start_time"><br>
  snd time <input data-ng-model="active.end_time">
</div>
查看演示

$scope.shifts = [
  { nr: 1, start_time: "12Start", end_time: "12END" },
  { nr: 2, start_time: "34start", end_time: "786"   },
  { nr: 3, start_time: "123",     end_time: "5656"  },
  { nr: 4, start_time: "098",     end_time: "77"    },
  { nr: 5, start_time: "75757",   end_time: "57567" }
];

$scope.active = null;
<h3>Select a shift</h3>
<select
  data-ng-model="active"
  data-ng-options="shift as shift.nr for shift in shifts"
></select>

<div data-ng-show="active">
  <h3>Edit start/end</h3>
  start time <input data-ng-model="active.start_time"><br>
  snd time <input data-ng-model="active.end_time">
</div>
选择一个班次
编辑开始/结束
开始时间
snd时间

演示

我没有胶水你到底想做什么…@Yoshi我想要
ng model=“shiftstart[shiftnumber]”
ng model=“shiftend[shiftnumber]”
ng model=“shift.start\u time[shiftnumber]”一样作为单个实体使用
这样它将产生相同的对象结果数组。如果我提供预填充的数据,我认为这会更好