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-checked で試しています。ng-checked は、初期化できないと機能しません。ng-init を試してみたいのは、それについて読んだ唯一のことだからです。

同様の投稿で ng-init について何か読んだことがありますが、私はこの世界でとても新しいので理解できません。

「.表記の代わりに[]表記を使用して動的プロパティにアクセスする必要があります」

この例でそれを行うにはどうすればよいですか?

これは私の.Jsonです:

$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'

最後に、たとえば次のように、動的な $scope を取得したいだけです。

var cad = subtopic+"Checkbox";

  if($scope[cad] === true){ [...]
4

1 に答える 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>

プランカーの例

于 2015-11-05T12:40:01.367 に答える