div内にマークアップがあります。基本的に私は提出時にも保存したいいくつかのフォームフィールド。ユーザー入力値入力フィールドに基づいてNgRepeatを再レンダリングします
このdivの外側には、ユーザーが整数を入力できる入力フィールドがあります。この整数に基づいて、項目を表示するか、または繰り返しています。
私の問題と一致するサンプルコードです。 ng-repeatの主要な問題に焦点を当てるために、フォーム要素の内側にスパンを保存します。
var app = angular.module('myapp',[]);
app.controller('ctrlParent',function($scope){
$scope.myNumber = 3;
$scope.getNumber = function(num) {
return new Array(num);
$scope.$apply();
}
$scope.$watch('myNumber', function(newVal,OldVal){
\t $scope.myNumber = newVal;
//alert(newVal);
})
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp">
<div ng-controller="ctrlParent">
<input type="text" ng-model="myNumber" ng-blur="getNumber(myNumber)"/>
<ul>
<li ng-repeat="i in getNumber(myNumber) track by $index">
<span>{{$index+1}}</span>
</li>
</ul>
</div>
</div>
ここで私が試したものです:
- は、変数を見て、助けないスコープ変数への入力のnewValueに割り当てます。
- ng-blurを使用して、更新された値で同じ関数を呼び出そうとしました。ああ、ng-changeもやってみた。
$scope.$apply()
getNumber関数内で手動で変更を更新する必要があります。
どうすればいいですか? ng-repeatを更新する方法はありますか?
本当に!どのようにしてそのテストを実行できなかったのですか?私は自分自身が嫌いです。ありがとう – kushalvm
あなたのコメントをここで削除することができます:http://stackoverflow.com/questions/16824853/way-to-ng-repeat-defined-number-of-times-instead-of-repeating-over-array/16824944? noredirect = 1#コメント67669719_16824944 – sh0ber