Angular-checked方法使用

简介: Angular-checked方法使用

Angular-checked方法使用


场景:


在进入修改商品页面的时候,前端获取从后端返回的数据,并将这些数据展示在修改商品的页面上,在使用AngularJS的情况下如何判断并勾选?也即:什么时候勾选复选框?


(1)取决于数据库中的某张表的某个字段,例如在数据库中存储的是这样的:


  [{"attributeName":"网络","attributeValue":["移动3G","移动4G"]},{"attributeName":"机身内存","attributeValue":["16G","32G"]}]

 

(2)首先将该值取出来,然后检查当前所循环的节点,将两个值都传递过去(例如判断“移动3G”,需要传“移动3G”和“网络”),如果查询到了则勾选,反之则无。


(3)先检查attributeName是否匹配,如果不匹配则直接返回false即可


封装通用匹配方法:


//通用查询方法:在list集合中根据某个key的值查询对象
//list:待查询集合,key:待查询属性的字符串,待匹配的值
$scope.searchObjectByKey=function(list,key,keyValue){
  for(var i=0;i<list;i++){
    //list[i]就是查询的每一个元素
    //将传过来的值进行匹配,固定的key可以写list[i]['attributeName']
    if(list[i][key]==keyValue){
      //返回的是一个对象
      return list[i];
    }
  }
  return null;
}


实体查询方法:


//查询实体 
$scope.findOne=function(id){
  //会获取页面上所有的参数,会将所有参数转换成数组。获取某一个值方式:
  var id = $location.serach()['id'];
  if(id = null){
    return ;
  }   
  goodsService.findOne(id).success(
    function(response){
      $scope.entity= response;
      //富文本编辑器
      editor.html($scope.entity.goodsDesc.introduction);
      //商品图片
      $scope.entiy.goodsDesc.itemImages = JSON.parse($scope.entiy.goodsDesc.itemImages); 
      //扩展属性
      $scope.entity.goodsDesc.customAttributeItems = JSON.parse($scope.entity.goodsDesc.customAttributeItems);
      //规格选择
      $scope.entity.goodsDesc.specificationItems = JSON.parse($scope.entity.goodsDesc.specificationItems);
    }
  );        
}

使用AngularJS的Angular-checked方法将匹配的值自动勾选:


//自动勾选
$scope.checkAttributeValue=function(specName,optionName){
  var items = $scope.entity.goodsDesc.specificationItems;
  //需要接收3个参数,第一个为list集合(哪里来?),查询时转换
  var obj = $scope.searchObjectByKey(items, 'attributeName', specName);
  if(obj != null){
    //如果能查询到则勾选
    if(obj.attributeValue.indexOf(optionName)>=0){
      return true;
    }else{
      return false;
    }
  }else{
    //obj空
    return false;
  }
}


目录
相关文章
|
6月前
快速创建Angular组件并定义传参、绑定自定义事件的方法
快速创建Angular组件并定义传参、绑定自定义事件的方法
|
6月前
Angular父组件调用子组件里面的方法
Angular父组件调用子组件里面的方法
|
JavaScript
angular从iframe里面调用父页面的controller的方法
angular从iframe里面调用父页面的controller的方法
Angular4总结(五)—— 父子组件通信,钩子方法
组件和组件之间一定得是松耦合的这样可重用性才高,想象一下这样的场景,A和B两个兄弟组件,但是A调用B组件的一个方法,那么这两个组件就紧密的联系在了一起,这其实是并不可取的。 组件我们应该看作是一个黑盒,组件只需要"输入"和"输出"的功能就行,组件并不关心到底是谁给他输入的,也不关心他会输出给谁。
1487 0
Angular访问WebApi出现options方法
解决方案: 解决跨域: image.
910 0
细说angular Form addControl方法
在本篇博文中,我们将接触angular的验证。angular的验证是由form 指令和ngModel协调完成的。今天博主在这里想要说的是在验证在的一种特殊情况,当验证控件没有没有name属性这是不会被form捕获的。或者是你希望在ngRepeat中使用动态表达式。 下面且让我们先来从angular源码中看起如下: 首先是ngModel: var ngModel
1270 0