黑马程序员技术交流社区

标题: 【郑州校区】品优购电商系统开发 第 6 章 二 [打印本页]

作者: 我是楠楠    时间: 2020-5-21 11:21
标题: 【郑州校区】品优购电商系统开发 第 6 章 二
【郑州校区】品优购电商系统开发 第 6 章 二

1.3.4 读取模板 ID
goodsController 增加代码:
[AppleScript] 纯文本查看 复制代码
//三级分类选择后 读取模板 ID
$scope.$watch('entity.goods.category3Id', function(newValue, oldValue) {
itemCatService.findOne(newValue).success(
function(response){
$scope.entity.goods.typeTemplateId=response.typeId; //更新模板 ID
}
);
});

goods_edit.html 显示模板 ID
[AppleScript] 纯文本查看 复制代码
 模板 ID:{{entity.goods.typeTemplateId}}


2.商品录入【品牌选择】
2.1 需求分析
在用户选择商品分类后,品牌列表要根据用户所选择的分类进行更新。具体的逻辑是根据用户选择的三级分类找到对应的商品类型模板,商品类型模板中存储了品牌的列表 json 数据。


2.2 代码实现
1)在 pinyougou-shop-web 工程创建 TypeTemplateController (可从运营商后台拷贝)
2)在 pinyougou-shop-web 工程创建 typeTemplateService.js (可从运营商后台拷贝)
3)在 goodsController 引入 typeTemplateService 并新增代码

[AppleScript] 纯文本查看 复制代码
//模板 ID 选择后 更新品牌列表
$scope.$watch('entity.goods.typeTemplateId', function(newValue, oldValue) {
typeTemplateService.findOne(newValue).success(
function(response){
$scope.typeTemplate=response;//获取类型模板
$scope.typeTemplate.brandIds=
JSON.parse( $scope.typeTemplate.brandIds);//品牌列表
}
);
});

在页面 goods_edit.html 引入 js
[AppleScript] 纯文本查看 复制代码
 <script type="text/javascript" src="../js/service/typeTemplateService.js"> </script>


添加品牌选择框
[AppleScript] 纯文本查看 复制代码
 <select class="form-control" ng-model="entity.goods.brandId" ng-options="item.id as
item.text for item in typeTemplate.brandIds"></select>


3.商品录入【扩展属性】
3.1 需求分析
在商品录入实现扩展属性的录入。


3.2 代码实现
修改 goodsController.js ,在用户更新模板 ID 时,读取模板中的扩展属性赋给商品的扩展属性。

[AppleScript] 纯文本查看 复制代码
//模板 ID 选择后 更新模板对象
$scope.$watch('entity.goods.typeTemplateId', function(newValue, oldValue) {
typeTemplateService.findOne(newValue).success(
function(response){
$scope.typeTemplate=response;//获取类型模板
$scope.typeTemplate.brandIds=
JSON.parse( $scope.typeTemplate.brandIds);//品牌列表
$scope.entity.goodsDesc.customAttributeItems=JSON.parse( $scope.typeTemplate.custom
AttributeItems);//扩展属性
}
);
});

修改 goods_edit.html
[AppleScript] 纯文本查看 复制代码
 <!--扩展属性-->
<div class="tab-pane" id="customAttribute">
<div class="row data-type">
<div ng-repeat="pojo in entity.goodsDesc.customAttributeItems">
<div class="col-md-2 title">{{pojo.text}}</div>
<div class="col-md-10 data">
<input class="form-control" ng-model="pojo.value" placeholder="{{pojo.text}}">
</div>
</div>
</div>
</div>








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2