AngularJs中的泛型指令

AngularJs中的泛型指令,angularjs,Angularjs,我正在编写一个angularjs指令,它可以在整个应用程序中重用 <div ><div ng-controller="ctrl"> <script type="text/ng-template" id="partials/checkbox.html"> <div ng-repeat="obj in data"> <input on-check type="checkbox" ng-model="checked" value="{{obj}}"

我正在编写一个angularjs指令,它可以在整个应用程序中重用

<div ><div ng-controller="ctrl">
<script type="text/ng-template" id="partials/checkbox.html">
<div ng-repeat="obj in data">
<input on-check type="checkbox" ng-model="checked" value="{{obj}}" click-checkbox="checkstatus(checked,obj)" checked-me="checked" />{{obj}}</div>

</script>
<check-boxes getType="data"></check-boxes>
<check-boxes getType="bestnights"></check-boxes>

</div></div>

我在这里对jsbin进行了修改

您的问题是什么?关于属性更改,指令应在gettype上使用ng repeat,并使用控制器和每个数组的返回对象进行迭代。目前有两个数组,它们在指令的gettype属性中使用数组名。我想使用这些属性并在控制器中设置数组。对不起,我的朋友,您的代码根本不可读,请使用空格生成逻辑块。无论如何:变量名“getType”是错误的,应该是“get type”。在拆分为指令之前,试着让它在单个html和控制器中工作,在逐行拆分为简单指令之后
var app=angular.module('myApp',[]);
app.controller('ctrl',function($scope){


  $scope.data=['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
  var daysArray=[]; 
  $scope.checkStatus=function(checked, obj){
  var index=daysArray.indexOf(obj);
   if(checked){
   if(index === -1){
   daysArray.push(obj);
   }  }

  if(!checked){
  daysArray.splice(index,1);
   }
  var str=daysArray.toString();
  console.log(str);
  console.log(checked);
  };


  });
  app.directive('checkBoxes',function(){
   return{
    restrict:"EA",  
    controller:"ctrl",
    templateUrl:"partials/checkbox.html",
    link:function(scope, ele, attrs,dctrl){
    ele.bind('click',function(){  
    });
     }
    };
    });

       app.directive('onCheck',function(){
   return{
     restrict:"A",
     scope:{
       clickCheckbox:"&",
     value:"@",  
     checkedMe:"="
    },
     link:function(scope,ele, attrs){
    ele.bind('click',function(){
    console.log(scope.value);
    });
    }
    };
  });