【问题标题】:How to update an object value from a function during page load如何在页面加载期间从函数更新对象值
【发布时间】:2018-10-03 07:16:41
【问题描述】:

在下面的代码中,我有一个名为 $scope.dateRange 的对象,它具有 fromDate 和 toDate 属性。我将视图中的对象用作模型,并在 GetVoucherLatestDate() 函数中更新对象的值。但它没有更新,它仍然是我在函数之前声明的 null,因为它是异步的。

我需要的是从函数中获取日期值以在页面加载期间显示在视图中?我非常需要帮助。

$scope.dateRange = {
    fromDate: null,
    toDate: null
};
$scope.gap = -2;
$scope.budgetResponsiblePersonId = null;
$scope.overAllStatusList = [];
console.log("DatePre", $scope.dateRange);
$scope.GetVoucherLatestDate = function () {
    $http({
        method: 'GET',
        url: 'Accounts/MISAccountDashboard/GetVoucherLatestDate/',
        dataType: 'JSON'
    }).then(function successCallback(response) {
        $scope.getFromDate = response.data;
        console.log("Response Data", response.data);
        console.log("$scope.data", $scope.getFromDate);
        dateData = ;       
        $scope.dateRange = {
            fromDate: $filter('dateFiltering')($scope.getFromDate[0].PostingDate, 'dd-MMM-yyyy'),
            toDate: $filter('dateFiltering')($scope.getFromDate[0].PostingDate, 'dd-MMM-yyyy')
        };
    });

};
$scope.GetVoucherLatestDate();

【问题讨论】:

  • 您是否检查了控制台日志中$filter('dateFiltering' ($scope.getFromDate[0].PostingDate, 'dd-MMM-yyyy') 的值?
  • 你在 console.log("Response Data", response.data); 中看到预期值了吗?也请分享绑定的模型代码。
  • @StaticVariable 是的,我查过了。
  • @Shaheryar.Akram 是的,你在函数内部检查了它。
  • 好吧,除非您在将模型绑定到视图中时犯了一些错误,否则我看不到任何问题。只是为了好奇,你是否在函数之后以某种方式清理$scope.getFromDate

标签: javascript angularjs asynchronous


【解决方案1】:

我不确定您是如何在 UI 中绑定模型的,但是 $scope.$apply() 应该将您的更改传播到 UI。

【讨论】:

  • 确认和更多澄清的问题应该作为评论而不是答案。
  • 如果你提供一些例子。
  • @AbdullahAlMamun 我认为他的意思是在你的 $scope.dateRange = 在 $scope.GetVoucherLatestDate 之后放 $scope.$apply();可能参考stackoverflow.com/questions/35108913/…
猜你喜欢
  • 1970-01-01
  • 2016-03-12
  • 2021-01-04
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多