所以我發現一對夫婦的解決方案可以針對此問題的工作。再次,我不一定會覺得這是最優的解決方案,因爲無論我們需要迭代數據對象並將所需的鍵值對從「Y」轉換爲「真」,將「N」轉換爲假。
1)NG-INIT
我創建過我在那裏需要使用這些NG-模型變量劃分的父劃分,並利用再分配toggleValue的值用下面的代碼,以ng-INIT許可證表達式,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)">
初始化功能控制器:
$scope.init = function(value) {
$scope.testInput= (value=='Y')? true:false;
return $scope.testInput;
}
優點:由於我使用的NG-重複和分頁,只在S當前頁面的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