Angularjs 在ng repeat中单击时如何禁用按钮?
我想在单击时禁用按钮,然后如果单击另一个按钮,则上一个禁用按钮将处于活动状态,然后当前按钮将禁用,依此类推 HTML 这个代码会给我这个错误Angularjs 在ng repeat中单击时如何禁用按钮?,angularjs,Angularjs,我想在单击时禁用按钮,然后如果单击另一个按钮,则上一个禁用按钮将处于活动状态,然后当前按钮将禁用,依此类推 HTML 这个代码会给我这个错误 TypeError: Cannot set property '2' of undefined at copywriter-angular.js?ver=1.2:1234 at angular.min.js?ver=4.8:134 at m.$digest (angular.min.js?ver=4.8:145) at m.
TypeError: Cannot set property '2' of undefined
at copywriter-angular.js?ver=1.2:1234
at angular.min.js?ver=4.8:134
at m.$digest (angular.min.js?ver=4.8:145)
at m.$apply (angular.min.js?ver=4.8:149)
at l (angular.min.js?ver=4.8:102)
at XMLHttpRequest.A.onload (angular.min.js?ver=4.8:107) "Possibly unhandled rejection: {}"
只需在上面定义
$scope.dis
测试功能即可
$scope.dis= [];
$scope.test = function(i){
$scope.dis[i] = true;
}
只需在上面定义
$scope.dis
测试功能即可
$scope.dis= [];
$scope.test = function(i){
$scope.dis[i] = true;
}
我认为你的逻辑是错误的。您需要使用
disabled
属性扩展对象数组,例如ng disabled=“item.disabled”
,而不是使用单独的数组来禁用按钮
但是如果您想要一个单独的数组,下面是初始化它的方法,因为否则它是空的,因此您无法访问dis[index]
来禁用该按钮
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.items=[{
名称:“苹果”
}, {
名称:“香蕉”
}, {
名字:“胡萝卜”
}, {
名称:“鸡腿”
}, {
名字:“鸡蛋”
}];
$scope.dis=$scope.items.map((){
返回false;
});
$scope.test=功能(i){
$scope.dis[i]=true;
}
});代码>
{{item.Name}
我想你的逻辑是错误的。您需要使用disabled
属性扩展对象数组,例如ng disabled=“item.disabled”
,而不是使用单独的数组来禁用按钮
但是如果您想要一个单独的数组,下面是初始化它的方法,因为否则它是空的,因此您无法访问dis[index]
来禁用该按钮
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.items=[{
名称:“苹果”
}, {
名称:“香蕉”
}, {
名字:“胡萝卜”
}, {
名称:“鸡腿”
}, {
名字:“鸡蛋”
}];
$scope.dis=$scope.items.map((){
返回false;
});
$scope.test=功能(i){
$scope.dis[i]=true;
}
});代码>
{{item.Name}
您是否忘记将$scope.dis
声明为数组?(可以这么简单吗?)您是否忘记将$scope.dis
声明为数组?(可以这么简单吗?)不仅要定义,还要填充true
/false
值(数组长度与$scope.items
)不仅要定义,还要填充true
/false
值(数组长度与$scope.items
)
$scope.dis= [];
$scope.test = function(i){
$scope.dis[i] = true;
}