AngularJs中的泛型指令
我正在编写一个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}}"
<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);
});
}
};
});