Динамика тепла - Angularjs

0

Я получил это:

<ul id="filterList">
      <div ng-repeat="data in dataForTheTree">
         <li> {{data.topic}} </li>
          <ul id={{data.topic}}Son>
              <li ng-repeat="d in data.children>  
                 <input type="checkbox" ng-init='{{d.subtopic}}Checkbox = true' ng-checked = "{{d.subtopic}}Checkbox"/>{{d.subtopic}}
              </li>
          </ul>
      </div>
</ul>

Мне нужно создать "модель", чтобы узнать, установлен ли флажок или нет (я не могу использовать ng-model, потому что это плохая практика). Итак, я пытаюсь проверить ng. ng-checked не будет работать, если я не могу его инициализировать. Я хочу попробовать с ng-init, потому что это единственное, что я прочитал об этом.

Я прочитал кое-что о ng-init в подобном сообщении, но я не могу понять, потому что я настолько новичок в этом мире.

"Вам нужно получить доступ к динамическим свойствам, используя вместо него нотацию []. Notation"

Как я могу это сделать в этом примере?

Это мой. Джон:

$scope.dataForTheTree =[
  { "topic" : "Legislation", "children" : [
      { "subtopic" : "Education", "texto" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "HealthService", "texto" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "Assets", "texto" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "LiquidAssets", "texto" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "Education", "texto" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "HealthService", "texto" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] },
      { "subtopic" : "HealthService", "texto" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae tincidunt mi. Donec purus ligula, tincidunt ut semper eu, laoreet.", "children" : [] }
]}];

Я хочу связать каждый флажок с его подтемой, затем я хочу посмотреть, установлен ли флажок через ng-checked = "{{d.subtopic}}Checkbox".

Теперь моя проблема в том, что "{{d.subtopic}}Checkbox" не инициализирован, и поэтому мне нужно использовать ng-init.

Проблема здесь в том, что ng-init не понимает {{}}, поэтому я не знаю, как это решить: '{{d.subtopic}}Checkbox = true'

Наконец, я просто хочу получить динамическую область $, например, например:

var cad = subtopic+"Checkbox";

  if($scope[cad] === true){ [...]
  • 0
    почему использование ng-модели плохая практика?
  • 0
    Я не могу использовать {{d.subtopic}} флажок на ng-модели, я читал кое-что об этом. Что лучше использовать ng-check
Показать ещё 11 комментариев
Теги:
checkbox
ng-init

1 ответ

0
Лучший ответ

Это то, чего вы пытаетесь достичь?

<ul id="filterList">
  <div ng-repeat="data in dataForTheTree">
    <li> {{data.topic}} </li>
    <ul id="{{data.topic}}Son">
      <li ng-repeat="d in data.children">
        <input type="checkbox" ng-init='d.Checked = true' ng-model="d.Checked" />
        {{d.subtopic}}
        <span ng-if="d.Checked">{{d.texto}}</span>
      </li>
    </ul>
  </div>
</ul>

или это?

    <li ng-repeat="d in data.children">
      <input type="checkbox" ng-init="$scope[d.subtopic+'Checked'] = true" 
          ng-model="$scope[d.subtopic+'Checked']" />
      {{d.subtopic}}
      <span ng-if="$scope[d.subtopic+'Checked']">{{d.texto}}</span>
    </li>

пример plunker

  • 0
    Мне нужно что-то вроде 2º, но без использования $ scope там это как смесь обоих. Мне нужно d.subtopic.checked как модель, но она не работает.
  • 0
    затем используйте "Checkboxes[d.subtopic+'Checked']" и добавьте $scope.Checkboxes={}; к вашей модели.
Показать ещё 11 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню