proszę, czy ktoś może mi pomóc z tym małym bałaganem wiążącym. Próbuję wygenerować listę zadańaktualizacja modelu dla dynamicznie generowanych przycisków radiowych
tutaj jest definicja modelu w moim TaskController:
angular.module('yeomantestApp')
.controller 'TaskController', ($scope) ->
$scope.currentTask
$scope.tasks = [
{
id: 1
name: 'write test'
elapsedTime: 15
},
{
id: 2
name: 'run test'
elapsedTime: 32
},
{
id: 3
name: 'write code'
elapsedTime: 22
}
]
Więc teraz chcę renderować model z poniższej widzenia. Widok iteruje nad tablicą zadań i tworzy listę przycisków opcji dla każdego zadania. Mój problem polega na tym, że model wiążący się z currentTask nie działa. Po wybraniu dowolnego zadania wpis modelu currentTask nie jest aktualizowany. Ale według tutoriali i dokumentacji powinna.
<div class="hero-unit" ng-controller="TaskController">
<h1>Tasks</h1>
<h2>current {{currentTask}}</h2>
<form name="taskForm">
<div ng-repeat="task in tasks">
<input type="radio" name="taskGroup" ng-model="currentTask" value="{{task.id}}">{{task.name}} {{task.elapsedTime}}
</div>
</form>
</div>
jesteś moim bohaterem !!!! Powinienem był od razu używać funkcji debugowania zasięgu THX dużo –
Albo jeszcze lepiej http://blog.angularjs.org/2012/07/introducing-angularjs-batarang.html, aby wyśledzić zagadnienia związane z zasięgiem :-) –
Zobacz także http://stackoverflow.com/questions/12744788/angularjs-table-sort-with-ng-repeat, gdzie przedstawiono dwa inne rozwiązania "zagnieżdżonego zakresu": 1) użyj metody kontrolera, aby zmodyfikować currentTask 2) make currentTask typ nieprymitywny, dzięki czemu zasięgi ng-powtórzeń otrzymują odniesienie do niego (zamiast kopii lokalnej). –