【发布时间】:2016-02-06 07:22:06
【问题描述】:
如何在 ng-repeat 中设置动态创建的 ng-model 的值?
我正在尝试将每个动态 ng-model 设置为 true 或 false
html文件
<md-list-item ng-repeat="awayTeamPlayer in ulineup.awayTeamPlayersLineup ">
<md-checkbox ng-model="ulineup.awayTeamPlayersPlayed[awayTeamPlayer.player]"></md-checkbox>
{{awayTeamPlayer.player}}
</md-list-item>
控制器文件
(function() {
angular
.module('app')
.controller('UpdateLineUpController',
['$routeParams', '$firebaseArray', 'FIREBASE_URL',
function($routeParams, $firebaseArray, FIREBASE_URL) {
var vm = this;
var gameId = $routeParams.gameId;
var lineupId = $routeParams.lineupId;
var awayTeamPlayersLineupRef = new Firebase(FIREBASE_URL + 'games/' + gameId + '/lineup/' + lineupId + '/awayTeamPlayersLineup');
vm.awayTeamPlayersLineup = $firebaseArray(awayTeamPlayersLineupRef);
// tried the following but that doesn't work
angular.forEach(vm.awayTeamPlayersLineup, function(value, key) {
if(value.played === true) {
// trying to set ng-model value to true gives me the following error
// TypeError: Cannot set property 'Mark' of undefined
vm.awayTeamPlayersPlayed[value.player] = true;
} else {
vm.awayTeamPlayersPlayed[value.player] = false;
}
});
}]);
})();
【问题讨论】:
-
你试过在重复中使用 ng-init 吗?
标签: javascript angularjs angularjs-ng-repeat angular-ngmodel