1. 扩展属性
1.增加行
在 typeTemplateController.js 中新增代码
//新增扩展属性行 $scope.addTableRow=function(){ $scope.entity.customAttributeItems.push({}); }
在 type_template.html 中的“新建”按钮,执行实体的初始化操作
<button type="button" class="btn btn-default" title="新建" data-toggle="modal" data-target="#editModal" ng-click="entity={customAttributeItems:[]}"> <i class="fa fa-file-o"></i> 新建</button>
修改“新增扩展属性按钮”
<button type="button" class="btn btn-default" title="新增扩展属性" ng-click="addTableRow()"> <i class="fa fa-file-o"></i> 新增扩展属性 </button>
循环表格
<tr ng-repeat="pojo in entity.customAttributeItems"> <td><input class="form-control" ng-model="pojo.text" placeholder="属性名称" ></td> <td> <button type="button" class="btn btn-default" title="删除"> <i class="fa fa-trash-o"></i> 删除 </button> </td> </tr>
2.删除行
实现思路:在每一行将索引值传递给集合,在集合中删除。
修改 typeTemplateController.js 新增以下代码
//删除扩展属性行 $scope.deleTableRow=function(index){ $scope.entity.customAttributeItems.splice(index,1);//删除 }
修改每行的删除按钮
<button type="button" ng-click="deleTableRow($index)" class="btn btn-default" title=" 删除"> <i class="fa fa-trash-o"></i> 删除 </button>
$index 用于获取 ng-repeat 指令循环中的索引。
2.新增模板
修改 type_template.html ,绑定文本框
<tr> <td>模板名称</td> <td><input ng-model="" class="form-control" placeholder="模板名称"> </td> </tr>
保存按钮
<button class="btn btn-success" data-dismiss="modal" aria-hidden="true" ng-click="save()"> 保存 </button>
3.修改模板
修改 typeTemplateController.js 的 findOne 方法
//查询实体 $scope.findOne=function(id){ typeTemplateService.findOne(id).success( function(response){ $scope.entity= response; $scope.entity.brandIds= JSON.parse($scope.entity.brandIds);//转换品牌列表 $scope.entity.specIds=JSON.parse($scope.entity.specIds);//转换规格列表 $scope.entity.customAttributeItems=JSON.parse($scope.entity.customAttributeItems);//转换扩展属性 } ); }
从数据库中查询出来的是字符串,我们必须将其转换为 json 对象才能实现信息的回显。
4.删除模板
修改 type_template.html
表格中的复选框
<input type="checkbox" ng-click="updateSelection($event,entity.id)">
删除按钮
<button type="button" class="btn btn-default" title="删除" ng-click="dele()"> <i class="fa fa-trash-o"></i> 删除 </button>