带范围的数字的角度链接数组
Angular link array of number with scope
我正在使用ui引导和我想将按钮的状态与数组中的一个变量链接起来。
这是我的控制器:
angular.module('test')
.controller('btest',
['$scope',
'$log',
function ($scope, $log) {
$log.info("controller Loaded!");
var checkboxes = [false,false];
$scope.pos1 = checkboxes[0];
$scope.pos2 = checkboxes[1];
}])
这是HTML:的一部分
<div class="row">
<button type="button" class="col-md-1 btn btn-primary" ng-model="pos1" uib-btn-checkbox>B1</button>
<button type="button" class="col-md-1 btn btn-primary" ng-model="pos2" uib-btn-checkbox>B2</button>
</div>
通过单击按钮,它不会更改复选框数组中的值,而只更改其变量的值。
例如:点击"B1" pos1=true
后,点击checkboxes[0]=false
。
我可以使用如下更新函数强制更新矢量:
$scope.update = function(index) {
checkboxes[index] = !checkboxes[index];
}
但我认为这不是正确的方式。
有人能解释我如何将按钮的状态与复选框数组中的变量联系起来吗。
您可以尝试:
angular.module('test')
.controller('btest',
['$scope',
'$log',
function ($scope, $log) {
$log.info("controller Loaded!");
$scope.checkboxes = [false,false];
}])
<div class="row">
<button type="button" class="col-md-1 btn btn-primary" ng-model="checkboxes[0]" uib-btn-checkbox>B1</button>
<button type="button" class="col-md-1 btn btn-primary" ng-model="checkboxes[1]" uib-btn-checkbox>B2</button>
</div>
uib-btn-checkbox
将始终设置ng模型中的任何值。因此,我将复选框数组放在作用域上,并使用它。
您似乎感到困惑的是,您希望pos1
和pos2
保存对复选框数组值的引用。JavaScript(和大多数其他语言)的工作方式不是这样的。所以你的代码相当于:
angular.module('test')
.controller('btest',
['$scope',
'$log',
function ($scope, $log) {
$log.info("controller Loaded!");
$scope.pos1 = false;
$scope.pos2 = false;
}])
如果这样做会更好:
<div class="row">
<button type="button" class="col-md-1 btn btn-primary" ng-repeat="checkbox in checkboxes" ng-click="checkbox.isChecked = !checkbox.isChecked" ng-model="checkbox.isChecked" uib-btn-checkbox>{{checkbox.text}}</button>
</div>
在你的控制器中:
.controller('btest',
['$scope',
'$log',
function ($scope, $log) {
$scope.checkboxes = [
{
text: "B1"
},
{
text: "B2"
}
];
$scope.checkboxes.forEach(function(checkbox) {
checkbox.isChecked = false;
});
}])
这避免了代码重复,也使其更易于维护!
相关文章:
- Javascript排序索引链接数组
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- 如何通过分配单个变量来减少此脚本中的链接数
- Javascript组将键值链接到数组中
- 序列promise链与数组数据,如何解析promise链
- 如何在jquery中链接多组动画
- Javascript:如何加入所有链接(数组)
- 是否可以将函数链接到数组
- 链接到数组中的对象的 Javascript 对象引用
- 基于相同键链接数组数据
- 带范围的数字的角度链接数组
- 如何返回整个网站的超链接数和ID
- CasperJS-如何打开链接数组中的所有链接
- 在jQuery中更改链接数组的文本
- 数组排序创建链接数组
- 将复选框链接到数组项
- JavaScript链接数组
- 在javascript中生成深度对象中所有属性链的数组
- 如何按链接对链接数组进行排序
- 当我迭代图像链接数组并使用innerHTML显示它们时,为什么IMG标记不能工作?