ПредишенСледващото

Имам няколко кутии:

Това бих искал да прикачвате към списъка в моя контролер, така че всеки път, когато флаг промяна, контролерът поддържа списък на всички тествани стойности, например [ "ябълка", "круша"].

Ng-модел, изглежда, може да се свърже една стойност флаг на променлива в контролера.

Има ли друг начин да го направя, за да мога да щракам четири квадратчета към списъка в контролера?

Има два начина да се подходи към този проблем. Или използвайте обикновен масив или масив от обекти. Всеки разтвор има плюсове и минуси. По-долу ще намерите по един за всеки повод.

С една проста масив като вход

HTML може да изглежда така:

И съответния код на контролера ще бъдат:

Професионалистите. проста структура на данните и превключване на име лесно спасен

Минуси. Освен / отстраняване е тромаво като е необходимо да се управлява два списъка (подбор и въвеждане)

С набор от предмети, тъй като вход

HTML може да изглежда така:

И съответния код на контролера ще бъдат:

Професионалистите. Добавяне / премахване на една много проста

Минуси. малко по-сложна структура и смяна на името данни са тромави или да изискват метод помощник

Ето кратко множество малки директива, което изглежда да се направи това, което искате да направите. Аз просто го нарече контролен списък. Тя актуализира масива, когато промените флаговете и знамената обновяване когато масив се променя.

Ето един контролер и изглед, който показва как можете да го използвате.

(Бутоните показват, че промяната на масива ще актуализира знамена.)

Въз основа на отговорите в тази тема, аз създаде насока списък-модел, който обхваща всички случаи:

  • Прости примитивни масиви
  • Масив от обекти (или да изберете цялата идентификатор обект)
  • В йерархията на свойствата на обекти

За случаите на новообразувани старт ще бъде:

Директива списък-образец на GitHub Виталий Потапов абсолютно работил за мен (с използването на сложни обекти).

Прекарах няколко часа се опитва да получи други решения, които да работят, без късмет. Отлична работа, весел!

Използването на индекса низ $ може да помогне да се използва хеш карта на избрани стойности:

По този начин, нг-обектен модел се актуализира ключ, което представлява индекса.

След известно време, $ scope.someObject трябва да изглежда по следния начин:

Този метод няма да работи за всички ситуации, но това е лесно за изпълнение.

Тъй като сте направили отговор, че списъкът не е била използвана, ще приемем, че отговорът на въпроса ми с въпрос: ". Не, това не е задължително да бъде списък" Аз също останах с впечатлението, че може би сте загубили HTML сървър като «проверка» присъства в твоя пример HTML (това не би било необходимо, ако нг-модел се използва за симулация на вашите знамена).

Както и да е, това е, което имах в предвид, когато се зададе въпроса, също така предполага, че вие ​​създавате сървъра HTML-сървър:

Ng-първоначален ви позволява да създавате от страна на сървъра HTML първи установени определени флагове.

Аз адаптиран приетите отговор Йоши решения за сложни обекти (вместо струни).

В HTML (да приемем, че кутиите са в първата колона на всеки ред на таблицата).

В controllers.js файл.

Ето друго решение. моите потенциални решения:

  • То не изисква никакви допълнителни часове (което може да се отрази на работата)
  • Тя не изисква код в контролера, че той е чист
  • Кодът е все още доста кратко
  • Това изисква много малко код, за да бъдат използвани отново на няколко места, защото това е само ориентир

В крайна сметка, просто да я използват по следния начин:

И това е всичко, което има. Единственото допълнение е атрибут отметка-масив-сет.

Можете да комбинирате AngularJS и JQuery. Например, трябва да се определи масив, $ scope.selected = []. В контролера.

Можете да получите масив провеждане на избрания елемент. Използването на сигнала (JSON.stringify ($ scope.selected)) метод. можете да проверите на избраните елементи.

Има начин да се работи с множество преки и използване ПГ-модел в същото време през NG-модел опциите = "".

Номерът е да се използва кариерист / сетер функции в ПГ-модел. По този начин, можете да използвате масив като истински модел и "фалшиви" логически елементи в моделите за влизане:

Протест. Не трябва да използвате този метод, ако си масиви са големи, тъй като myGetterSetter ще се нарича много пъти.

Следващото решение изглежда добър вариант,

И в управляващия модел стойност ще бъде плодовете

Подкрепете проекта - споделете линка, благодаря!