だから私は、ソリューションのカップルは、この問題のために働くことがありました。データオブジェクトを繰り返し処理し、必要なkey:valueの値を 'Y'から 'true'に、 'N'をfalseに変換しなくても、これが最も最適な解決策であるとは必ずしも言えません。
1)NG-INIT
は、私は、これらのNG-モデルの変数を使用する必要があった分割オーバー親部門を作成し、そして使用NG-INIT許すように、次のコードでtoggleValueの値を再割り当て
$scope.init = function(value) {
$scope.testInput= (value=='Y')? true:false;
return $scope.testInput;
}
長所::私はNGリピートやページネーションを使用しておりますので、唯一のNG-モデルは
<div ng-init="item.SHIP_FROM_STORE_IND = init(item.SHIP_FROM_STORE_IND);
item.BOPIS_ENABLED_IND=init(item.BOPIS_ENABLED_IND);
item.BOSTS_ENABLED_IND=init(item.BOSTS_ENABLED_IND)">
コントローラで
Init関数にはない表現、現在のページのcope要素が変更され、より効率的になり、反復的に他のものがページ変更時に変更されます。
短所:私のビューには、toggleValueパラメータ(true/false)に基づいてレコードをフィルタリングできる検索ボックスもあります。フィルタが適用されると、現在のページ要素だけがフィルタ処理され、「Y」または「N」値のままであるすべての要素がフィルター処理されるわけではありません。
2)オブジェクトを反復し、これが最も効率的かなり単純かつ明白な解決策であるが、明らかにされていないデータ
をフェッチしながら、コントローラの値を入れ替えます。
$scope.items = storeFactory.getRecords().query(
function(response) {
$scope.items=response;
$scope.totalItems = $scope.items.length;
for (var i=0, len=$scope.totalItems; i<len; i++) {
$scope.items[i].toggleValue = ($scope.items[i].SHIP_FROM_STORE_IND=='Y')? true:false;
}
},
function(response) {
$scope.waitMessage = "Error: "+response.status + " " + response.statusText;
});
同様に、サーバーに戻った変更/更新中にデータを元に戻すことができます。
私はこの解決策が問題を解決すると信じていますが、ハックです。私はこれを一時的に回答として受け入れており、他に提案されている解決方法があれば変更されます。 – shubhammakharia