我正在尝试更新范围的对象。来自异步过程的新数据,在这种情况下来自facebook的数据。
如何将更改应用于html?
var getCampaignStatistics = function () {
for (i = 0; i < $scope.campaigns.length; i++) {
$scope.$apply(function () {
$scope.campaigns[i].campaignStatistics = new CampaignStatistics(delegate);
$scope.campaigns[i].campaignStatistics.startProcess();
});
}
};
var delegate = function () {
};
所以我有一个委托函数,每个统计过程完成后都会调用它。 我也尝试过应用这个过程,但我知道因为对facebook的异步请求而无济于事
我应该添加这个过程但是这个过程需要大量计算。 基本上,它只是在campaignStatistics中设置统计对象。在统计对象中有诸如图片计数等的参数... 在过程结束时,它调用委托函数
答案 0 :(得分:0)
不确定你的委托/回调应该做什么,但我认为它也需要参数。我尝试在那里运行$ apply,因为一旦流程结束,Facebook API就会调用它。 Angular不会知道这一点,因为该进程超出了其范围。
因此,只要Facebook API准备好使用您的回调,您就必须将您的呼叫转移到$ apply to delegate,以确保它知道更新。
var getCampaignStatistics = function () {
for (i = 0; i < $scope.campaigns.length; i++) {
$scope.campaigns[i].campaignStatistics = new CampaignStatistics(delegate);
$scope.campaigns[i].campaignStatistics.startProcess();
}
};
var delegate = function (param) {
$scope.$apply(function() {
//your logic here
$scope.sompeProperty = param;
});
};