我有一个简单的AngularJs
医疗卡应用程序。
我有存储空间并使用home.html
dx-datagrid
显示
一张卡有很多记录,我从recordsArray
cardId
获取了卡片记录
getVardsRecordsByCardId: function (id, recordsArray) {
if (recordsArray.length != 0) {
for (var i = 0; i < recordsArray.length; i++) {
if (recordsArray[i].cardId === id) {
cardsRecords = cardsRecords.concat(recordsArray[i]);
}
}
}
return cardsRecords;
}
现在我在第三张卡片中有记录。我在按钮上添加了一个功能来测试它:
var jdskla = [];
var localCardId = 0;
$scope.showCardDetails = {
text: "",
type: "default",
icon: "preferences",
onClick: function () {
if ($scope.itemIdFromShowButton) {
$location.path('/carddetail/' + $scope.itemIdFromShowButton);
var jdskla =[];
var jdskla = businessLogicOfMyApp.getVardsRecordsByCardId($scope.itemIdFromShowButton, $scope.recordsArray);
console.log($scope.itemIdFromShowButton)
console.log(jdskla);
}
else {
alert("Error!!!");
}
}
};
1,3,1是cardId
和array
条记录。但是,为什么卡片记录的array
不能清除并保存最后的数据?
可能有人知道如何解决它?谢谢你的回答!
P.S。我在我的应用中使用ng-view
指令,我试图清除array
使用另一个按钮:
$scope.backToGeneralPage = {
text: "Back",
onClick: function () {
jdskla = [];
$location.path('/');
}
};
但没有帮助。
答案 0 :(得分:2)
你应该在函数getVardsRecordsByCardId中初始化cardsRecords数组。
getVardsRecordsByCardId: function (id, recordsArray) {
var cardsRecords = []; // initialize array locally
if (recordsArray.length != 0) {
for (var i = 0; i < recordsArray.length; i++) {
if (recordsArray[i].cardId === id) {
cardsRecords.push(recordsArray[i]);
}
}
}
return cardsRecords;
}