2

在我的角度代码中,我在 ajax 中加载了一些填充我的模板的数据,到目前为止一切都很好......然后,一旦加载了数据,我想调用一个 javascript 函数。

一旦模板被渲染,我就找不到回调的方法。我尝试了几个事件,但没有一个有效。

我的解决方案是在超时后调用 javascript 方法:

$http.post('url').success(function (data) {
    $timeout(function () {/* process data */    }, 200);
});

它似乎有效,但这是一个超时,没有什么能保证我在超时结束时一切都被渲染了。也许它只是因为我的电脑速度很快......

有基于事件的解决方案吗?或者任何比这个更好的解决方案......

我的解决方案的jsfiddle:http: //jsfiddle.net/ZCT4K/5/

4

1 回答 1

1

你需要$watch()你的数据。因此,您可以尝试以下方法:

$http.post('url')
    .success(function (data) {
         $scope.postData = data;
    });

//Watch the value of postData
$scope.$watch('postData', function () {
    if ($scope.postData === undefined || $scope.postData === null || $scope.postData === "") {
        return;
    }

    /*Else process your data*/
});
于 2013-06-05T02:48:58.870 回答