即使在显示结果后也显示输入值

时间:2017-01-13 18:42:17

标签: javascript angularjs ionic-framework

我有一个html页面,其中有两个字段From dateTo date。点击提交按钮后,我可以根据日期检索信息并在同一页面中显示,但我的From dateTO date字段变空。因此,如何保存这些值,以便即使在显示信息后它们也会保留在各自的字段中。

HTML:

  <ion-content ng-init=onViewloaded()>    
    From:
    <input type="date" ng-model="fromDate">
    To:
    <input type="date" ng-model="toDate">
    <button type="submit" ng-click="Save()">Submit</button><br>
    Data:
    {{receivedData.name}}
    {{receivedData.information}}
   </ion-content>

控制器:

    $scope.receivedData;

    $scope.onViewloaded=function()
   {
     bulkDateService.getData($scope.RetrievedData);
   }
   $scope.RetrievedData = function(data,error)
  {
    $scope.receivedData=data;
  }
    $scope.save=function()
   {
    var dataToSend={'from':$scope.fromDate, 'to':$scope.toDate};
    bulkDateService.postData(dataToSend,error);
   }

那么我缺少什么,为了在加载数据后在其字段中显示From dateTo date

1 个答案:

答案 0 :(得分:0)

由于您通过var dataToSend={'from':$scope.fromDate, 'to':$scope.toDate};中的引用传递对象,因此可能会在函数bulkDateService.postData(dataToSend,error);内删除或更改它们(当您将字段'更改为'和'来自{{1}时}}

要尝试此操作,请发送日期的副本而不是参考,并查看是否可以解决您的问题。像这样:

dataToSend

尽量避免使用ng-init指令,尽可能使控制器逻辑远离视图。为此,您只需在控制器上调用该函数:

var dataToSend={'from':angular.copy($scope.fromDate), 'to':angular.copy($scope.toDate)};

甚至更好,使用离子的视图事件:Ionic Docs

$scope.onViewloaded=function()
   {
     bulkDateService.getData($scope.RetrievedData);
   }
$scope.onViewloaded();