1
  • JSONファイルに保存されたメタデータを使用して、画面のHTMLコントロールに表示しようとしています。
  • また、ドロップダウンを無効にするチェックボックスを押す状態を作成しようとしています。
    • 静的オプションを含む選択ボックスと動的オプションを含む選択ボックス(ng-optionsを使用)でこれを達成することができました。
    • ng-repeatでラップすると、これを達成できませんでした。

私はこの作品を作るのに多くの時間を費やしましたが、ベーンです。

誰かが私を正しい方向に向けてくれれば幸いです。

Plunker hereにあるサンプルコードを作成しました

4

2 に答える 2

1

ngRepeatドキュメントから:

ngRepeat ディレクティブは、コレクションから項目ごとに 1 回テンプレートをインスタンス化します。各テンプレート インスタンスは独自のスコープを取得します

トリックは、に追加controlCheckedformて削除することng-initです。したがって、それらは同じスコープになります。

<div ng-show="control.type == 'Checkbox'">
    <input type="checkbox" ng-model="form.controlChecked" name="{{control.id}}"/>
</div>

<div ng-show="control.type == 'DropdownList'">
     <select    ng-model="control.id" 
                ng-disabled="!form.controlChecked"
                ng-options="value.code as value.name for value in control.items" 
                name="{{control.id}}"
                >
    </select>

Demo

于 2013-08-07T05:46:06.707 に答える
0

http://docs.angularjs.org/api/ng.directive:ngRepeatから:

ngRepeatディレクティブは、コレクションからアイテムごとに 1 回テンプレートをインスタンス化します。各テンプレート インスタンスは独自のスコープを取得します。

$parentscope:を使用する必要があるようです$parent.controlChecked

于 2013-08-07T05:47:13.287 に答える