2013-02-21 10 views
10

Pracuję nad aplikacją Angular.Angular.js: dwukierunkowe wiązanie wewnątrz powtórzenia ng

Chcę wygenerować formularz z dowolną liczbą pól wprowadzania tekstu z wiązaniami dwukierunkowymi dla dla każdego pojedynczego pola wejściowego. Bez przycisków, bez obserwatorów. ng-model nie działa poprawnie ze względu na zakres (jeśli się nie mylę). Pola wejściowe są generowane z tablicy z NG-powtórzenia takiego:

<div ng-repeat="item in items"> 
    <label>{{item.name}}</label> 
    <input type="text" placeholder="{{item.default}}" ng-model="{{item.value}}"> <!-- this input should be bound --> 
</div> 

Chcę tylko proste wiązanie zaktualizować tablicę w kontrolerze items o zmianach w danych wejściowych.

Każda pomoc doceniona.

+2

Trzeba tylko kanciaste nawiasy {{var}} jeśli piszesz to pojawiło się na stronie. Używając go w powtórzeniach lub modelach lub filtrach, nie potrzebujesz klamr. Zauważ, że robisz to już w powtórzeniu ng, nie zrobiłeś "elementu w {{items}}". –

+0

Dziękuję za radę James! Myślę, że trochę lepiej zrozumiałem Angular (wciąż jestem do tego nowy :)) –

Odpowiedz

11

Wystarczy zmienić znacznik wejściowy więc brzmi:

<input type="text" placeholder="{{item.default}}" ng-model="item.value"> 

Zawiadomienie ng-model bez nawiasów klamrowych.

upadać robocza: http://plnkr.co/edit/CLdem9yIw2Sk1U52Iajl?p=preview

+0

Dzięki za tonę! Działa teraz :) –

+2

ten pnkr nie działa. Wyraźnie widzę, że wartość wąsów {{item.name}} nie jest aktualizowana. – FlavorScape

Powiązane problemy