AngularJSは、ng-repeat動的に生成されたng-model値のインスタンスを取得します

1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...

AngularJSは、ng-repeat動的に生成されたモデル値を取得します

              最近、ng-modelがng-repeat、ng-model = "variable"、どの変数が不明なのかによってダイナミックに生成されるプロジェクトが発生しましたので、$ scopeで値を取得できません。値の一つは、そのような問題は、解決策を見つけるためにBaiduの検索後、ここに記録され、誰も助けることができます。

コード

Html


<div>
<div class="modal-header">
<h3 class="modal-title">用例集全局参数配置</h3>
</div>
<div class="modal-body">
<table class="table table-hover">
<thead>
<tr>
<th>参数</th>
<th>参数值</th>
</tr>
</thead>
<tbody ng-repeat="param in params">
<tr>
<td>{{param}}</td>
<td><input name="test" class="form-control" type="text" ng-trim="false" ng-model="$parent.conf[$index]"/></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">
应用
</button>
<button class="btn btn-warning" ng-click="cancel()">取消</button>
</div>
</div>

JS


var ModalInstanceCtrl = function ($scope, $modalInstance, params) {
$scope.params = params;
$scope.conf = [];
$scope.ok = function () {
console.log($scope.conf);
$modalInstance.close($scope.conf);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
};

問題の説明

ng-modelはng-repeatによって動的に生成されるため、ng-model = "variable"、どの変数が不明なのかによって、$ scopeの値を取得できません。この問題は一日の間私を悩ませ、ついにそれを解決しました。

ソリューション

最初のng-modelは$ parent.conf [$ index]に設定されています:

$ parentを使用する理由は、入力ごとにサブオブジェクトを生成するng-repeatであり、$ parentはJSファイルの値を取得できるように親クラスのスコープを意味します。
$ indexは、ng-repeat = "params in params"トラバーサルの添字を意味します
Confはjsの変数名の実際の効果です

コントローラに$ scope.conf = []を定義します。これは配列です。上記のコードだけで、配列に要素を追加してから、ng-modelのすべての要素をscope.confで自動的に保存します。

実際の効果:

読んでくれてありがとう、私は皆を助けることを望む、あなたのサポートに感謝!


1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...
      この投稿は審査処理中  | 元のサイトへ