gpt4 book ai didi

javascript - 从观察者填充 Angular Chart - 奇怪的行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:25:44 25 4
gpt4 key购买 nike

我的问题是我的 Angular 图表在从工厂广播更新时不显示数据。我正在设置这样的标签和数据,基于用户输入这可能会改变:

// Listener function in controller, receives data from factory
$scope.$on("New Data", function(event, data, ID) {
processTripData(data, ID).then(function(result) {
setTypeDistributionBar(result).then(function(r) {
buildTypeDistributionBar(r.data, r.labels);
})
})
})
var buildTypeDistributionBar = function(data, labels) {
$scope.distributionLabels = labels;
$scope.distributionData = [data];
}

问题是这只会在第二次调用 buildTypeDistributionBar 后更新图表。所以这个图表总是比用户输入的查询晚 1 个。

问题:为什么调用第二次才显示图表?我怎样才能实现它立即更新?

更新:我创建了一个 fiddle为了证明这一点,它没有表现出与我相同的行为,但相似。

最佳答案

我发现这可能是一个scope 相关的问题,以及this question 的答案。引导我进行以下操作。基本上 $scope.$apply(); 强制摘要。现在图表不再落后一步:

var buildTypeDistributionBar = function(data, labels) {
$scope.distributionLabels = labels;
$scope.distributionData = [data];
$scope.$apply();
}

关于javascript - 从观察者填充 Angular Chart - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44499032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com