所以我发现一对夫妇的解决方案可以针对此问题的工作。再次,我不一定会觉得这是最优的解决方案,因为无论我们需要迭代数据对象并将所需的键值对从“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