AngularJs не связывает ng-проверено с ng-моделью
Я прогуглил это и обнаружил, что у людей была эта проблема, но я не нашел никакого решения.
Так что это мой код
%section(ng-controller="UserCtrl" ng-init="user_genres=#{preferred_genres}")
%ul
%li(ng:repeat="genre in preferred_genres")
%input(type = "checkbox" ng:model="preferred_genres[genre]" id="genre-{{$index + 1}}" ng-checked="user_genres['{{genre}}']")
%label{:for => "genre-{{$index + 1}}"} {{genre}}
Например, если некоторые из флажков отмечены из-за того, что ng-checked выражение имеет значение true и отображается на странице. И я на самом деле не установил флажок снова. Когда дело доходит до контроллера, область видимости игнорирует тот, который был проверен из-за ng-check. Как мне сделать их синхронизацию красиво?
1 ответ
Я не уверен, что понимаю, в чем настоящая проблема, но посмотрим, нужна ли вам эта скрипка. (Я получил список предпочитаемых жанров из вашего другого поста.)
Свойство контекста контроллера preferred_genres
обновляется в зависимости от состояния флажка:
<li ng-repeat="(genre, checked) in preferred_genres">
<input type="checkbox" ng-model="preferred_genres[genre]"
id="genre-{{$index + 1}}">
Как упоминалось в @dnc253 в вашем другом посте, вам, вероятно, не нужно проверять ng, так как каждый элемент имеет свою собственную ng-модель.