私はng-repeat
を持っています。次に、ユーザーは前記データを自由に変更することができ、変更はフォームに表示されます。その前に、ユーザが提出したデータはボタン上のng-click
によって呼び出される別の機能によって消毒されます。
すべてはうまく動作します(私は$scope.some_array
を確認しました。そこからng-repeat
がデータを取り込み、新しいデータが正しい場所にあります)が、ページ上で何も起こりません。
要素:
<li ng-repeat="field in some_array" id="field-{{$index}}">
<div class="{{field.field_color}}">
<button type="button" ng-click="save_field($index)">done</button>
{{field.nice_name}}
</div>
<div id="field-input-{{$index}}">
<input type="text" id="{{field.tag}}" value="{{field.content}}">
<label for="{{field.tag}}">{{field.nice_name}}</label>
</div>
</li>
save_field
コード:なるほどコンソールで
$scope.save_field = function (index) {
console.log($scope.some_array[index]["content"])
var value = $("#field-" + index).children("div").children("input").val()
var name = $scope.some_array[index]["name"]
var clean_value = my_clean(value)
if (norm_value === "") {
return
}
$scope.some_array[index]["content"] = clean_value
console.log($scope.some_array[index]["content"])
}
:
10.03.16
10/03/16
右ですが、形で私だけ10.03.16
を参照してください。私はすでに$timeout(function(){$scope.$apply()})
を私の関数の最後の行に入れてみましたが、出力は同じです。
はすべてそのjQueryと使用角度の方法論を取り除きます。データを入力フィールドにバインドするには 'ng-model'を使います。 – charlietfl
try ** $ scope。$ evalAsync(function(){$ scope.some_array [" content "] = clean_value;}); ** – sbaaaang