无法按照html的ng-repeat对象来初始化AngularJs对象
Unable to r-initialize AngularJs Object as per html ng-repeat objects?
我被卡住了,不知道如何处理这段代码。我根据要求更改了html,但ajax响应后,我无法在Angula Js中重新初始化对象值,如果有人可以帮助,我将感激他。
<div ng-repeat="(key,sch) in classSchedule">
<h2>{{sch.sectionName}}</h2>
<table class="table table-bordered table-hover" >
<tbody>
<tr>
<th style="width: 10px">{{phrase.Day}}</th>
<th>{{phrase.ClassSchedule}}</th>
<th ng-if="userRole == 'admin'" style="width: 10px">Add</th>
</tr>
<tr ng-repeat="subSch in sch.schedule">
<td>{{subSch.dayName}}</td>
<td>
<div class="btn-group" ng-repeat="subSubSch in subSch.sub">
<button type="button" class="btn btn-default">{{subSubSch.subjectId}} - {{subSubSch.start}} -> {{subSubSch.end}}</button>
<button ng-if="userRole == 'admin'" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">{{phrase.toggleDropdown}}</span>
</button>
<ul ng-if="userRole == 'admin'" class="dropdown-menu" role="menu">
<li><a ng-click="editSubOne(subSubSch.id,key)">{{phrase.Edit}}</a></li>
<li><a ng-click="removeSub(subSubSch.id,key)">{{phrase.Remove}}</a></li>
</ul>
</div>
</td>
<td ng-if="userRole == 'admin'">
<a ng-click="addSubOne(key)" type="button" class="btn btn-info btn-flat"><i class="fa fa-fw fa-plus"></i></a>
</td>
</tr>
</tbody>
</table>
</div>
<script>
$scope.saveEditSub = function(id){
showHideLoad();
dataFactory.httpRequest('classschedule/sub/'+id,'POST',{},$scope.form).then(function(data) {
response = apiResponse(data,'edit');
if(data.status == "success"){
for (x in $scope.classSchedule[$scope.oldDay].schedule.sub) {
if($scope.classSchedule[$scope.oldDay].schedule.sub[x].id == id){
$scope.classSchedule[$scope.oldDay].schedule.sub.splice(x,1);
}
}
if(! $scope.classSchedule[response.dayOfWeek].schedule.sub){
$scope.classSchedule[response.dayOfWeek].schedule.sub = [];
}
$scope.classSchedule[response.dayOfWeek].schedule.sub.push({"id":response.id,"classId":response.classId,"subjectId":response.subjectId,"start":response.startTime,"end":response.endTime});
}
$scope.scheduleModalEdit = !$scope.scheduleModalEdit;
showHideLoad(true);
});
</script>
Ajax调用后错误:-> $ scope.classSchedule[响应。dayOfWeek]未定义
谢谢,等待响应
我不知道这是否导致了问题,但是您没有关闭该函数。
$scope.saveEditSub = function(id){
创建如下验证:
if(!$scope.classSchedule[response.dayOfWeek]){
$scope.classSchedule[response.dayOfWeek] = {
schedule: {sub : [] }
}
}
然后继续代码:
if(! $scope.classSchedule[response.dayOfWeek].schedule.sub){
$scope.classSchedule[response.dayOfWeek].schedule.sub = [];
}
$scope.classSchedule[response.dayOfWeek].schedule.sub.push({"id":response.id,"classId":response.classId,"subjectId":response.subjectId,"start":response.startTime,"end":response.endTime});
相关文章:
- JavaScript和对象初始化
- jQuery 对象初始化
- CoffeeScript:对象初始化程序中的Getter/Setter
- 在object.defineProperty之前在对象初始化中设置属性
- 在ES2015中,如何确保所有方法都等待对象初始化?使用ES7装饰器
- 最后定义的原型函数始终在对象初始化时运行
- 在每个对象初始化上添加时间
- 如何延迟对 javascript 对象的任何方法的所有调用,直到对象初始化
- 为什么这个对象初始化工作
- JavaScript 对象初始化 {key:val, string}.
- 即时对象初始化混淆
- 如何从使用 API 返回的 JSON 对象初始化 google.maps.DirectionsResult
- 如何在对象初始化器中使用变量作为键
- 更好的JavaScript对象初始化
- 调用窗口对象初始化(页面中动态包含iframe)
- 是否可以用类似C#的JavaScript进行对象初始化
- 在 javascript 对象初始化中使用数字作为属性有什么好处
- Javascript对象初始化和评估顺序
- jquery dataable为对象初始化的表添加复选框
- 在构建击倒视图模型时获取对象初始化器元素名称