Angularjs 角度复选框加载为ng选中=';正确';关于ng更改,未看到更改为false
我的ng repeat复选框有问题。 在模式加载时,它们的状态是通过Angularjs 角度复选框加载为ng选中=';正确';关于ng更改,未看到更改为false,angularjs,checkbox,angularjs-scope,pug,Angularjs,Checkbox,Angularjs Scope,Pug,我的ng repeat复选框有问题。 在模式加载时,它们的状态是通过$http.get 他们装得很好。但是,如果单击ng changedosent时加载时将其设置为true,则似乎会将其注册,但再次单击时,会看到更改为true。这显示在我的pre和console.log()中 我会尽我所能写代码 帕格 棱角的 app.controller('sysInfo', sysInfo); function sysInfo($scope, $rootScope, $http){ $scop
$http.get
他们装得很好。但是,如果单击ng change
dosent时加载时将其设置为true
,则似乎会将其注册,但再次单击时,会看到更改为true。这显示在我的pre
和console.log()中
我会尽我所能写代码
帕格
棱角的
app.controller('sysInfo', sysInfo);
function sysInfo($scope, $rootScope, $http){
$scope.options = function(foo) {
var config = {params :{fooName: foo}}
$('#myModal').modal();
$http.get('/api/boo', config)
.then(function(resp) {
var selectArray = [];
$rootScope.select = [];
$rootScope.options = res.data.data[0];
$rootScopesysNames = resp.data.sysInfo;
$rootScope.sysLinks = resp.data.sysNamedLinks;
angular.forEach(resp.data.sysNamedLinks, function(value1, key1){
angular.forEach(resp.data.sysInfo, function(value0, key0){
if(value1.sysLinkId === value0.id){
selectArray.push(value0.id)
$rootScope.select = selectArray
}
})
})
})
}
res.data.data[0]={id:1,sysBackend:'fumanchu'}
resp.data.sysInfo=[{id:1,friendlyName:foo},{id:2,friendlyName:fo},{id:3,friendlyName:boo},]
resp.data.sysNamedLinks=[{sysLinkId:1},{sysLinkId:2},{sysLinkId:3}]
发生这种情况是因为ng模型
和ng选中之间存在一些冲突
参考以下示例,复选框由ng checked
表达式初始化为checked
,但ng model
值为false
{{test}}
{{test}}
非常感谢我对输入进行了更改(type='checkbox'ng init=''sysName.selected=select.indexOf(sysName.id)!=-1;checked=true'ng change='submit(sysName.selected,options.sysBackend,sysName.id)'ng model='sysName.selected'ng checked='select.indexOf(sysName.id)!=-1')
并且似乎已经完成了这个技巧。谢谢你
app.controller('sysInfo', sysInfo);
function sysInfo($scope, $rootScope, $http){
$scope.options = function(foo) {
var config = {params :{fooName: foo}}
$('#myModal').modal();
$http.get('/api/boo', config)
.then(function(resp) {
var selectArray = [];
$rootScope.select = [];
$rootScope.options = res.data.data[0];
$rootScopesysNames = resp.data.sysInfo;
$rootScope.sysLinks = resp.data.sysNamedLinks;
angular.forEach(resp.data.sysNamedLinks, function(value1, key1){
angular.forEach(resp.data.sysInfo, function(value0, key0){
if(value1.sysLinkId === value0.id){
selectArray.push(value0.id)
$rootScope.select = selectArray
}
})
})
})
}