TLDR 수정 : 나는 확인란과 양식을 가지고 https://plnkr.co/edit/HfRoCgPfdoZNxmTtDLf7?p=preview사용 NG 반복 잘못 객체에게
: 여기에 문제의 plnkr의
임대 객체를 수정하는 것입니다<div class="form-group">
<div class="input-group">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="rental.car2go.airport.berlin"> Berlin
</label>
<br/>
<label>
<input type="checkbox" ng-model="rental.car2go.airport.hamburg"> Hamburg
</label>
<br/>
</div>
</div>
</div>
. 와
<div class="form-group">
<div class="input-group">
<div class="checkbox">
<span ng-repeat="airport in airports">
<label>
<input type="checkbox"
ng-model="airport.model">
{{airport.name}}
</label>
<br>
</span>
</div>
</div>
</div>
양식이 공항은 (airports[1].model=true/false
및 airports[2].model=true/false
를) 오브젝트 수정하는 것입니다 NG가 반복 :
angular.module('c2gyoApp', []).controller('c2gyoAppController', [
'$scope',
'state',
function($scope, state) {
$scope.airports = [{
"name": "Berlin",
"model": "rental.car2go.airport.berlin"
}, {
"name": "Hamburg",
"model": "rental.car2go.airport.hamburg"
}, ];
$scope.rental = state.rental;
}]).factory('state', function() {
var rental = {
car2go: {
airport: {
berlin: false,
hamburg: false
}
}
};
return {
rental: rental
};
});
가 지금은 NG 반복을 사용하려면이 컨트롤러가 보이는 방법이다.
공항 객체 (rental.car2go.airport.berlin
및 rental.car2go.airport.hamburg
)의 문자열 만 사용해야하며 렌털 개체를 수정해야합니다. 공항 객체가 아닌 ng-model에 문자열을 전달할 방법을 찾고 있습니다. 어떻게해야합니까?
편집 : 지침, 새로운 plnkr을 제거
는 명확하지 않다. 체크 박스의 ** 값 **은 '참'또는 '거짓'이므로 대체 할 수 있습니다 (두 예제 모두에서). – FDavidov
아마 제대로 작동하고 있지만 원하는 방식은 아닙니다.) plunkr (https://plnkr.co/edit/HfRoCgPfdoZNxmTtDLf7?p=preview)을 확인하십시오. 다른 오브젝트 (rent.car2go.airport.xxx)를 수정하고 싶습니다.)를 ng-repeat (공항)로 전달하는 것보다 – mles
angular는'ng-model'을 바인딩하는 이런 방식을 지원하지 않습니다. 'ng-modelOptions' getter/setter를 사용하는 것과 같은 몇 가지 옵션을 약간 실험했지만 작동하는 옵션을 찾을 수 없었습니다. 체크 박스를'airport'의 속성에 바인드하고'ng-click' 함수로 값을'rental' 배열에 복사하는 등의 작업을해야 할 것입니다. – Claies