一旦加载模型并在AngularJS中呈现内容,就执行函数

时间:2013-06-05 01:29:09

标签: javascript ajax angularjs

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

一旦呈现模板,我找不到回调的方法。我尝试了几个活动但没有一个活动。

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

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

它似乎工作,但这是一个超时,没有什么能保证在超时结束时所有内容都会呈现。也许这只是因为我的电脑很快......

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

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

1 个答案:

答案 0 :(得分: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*/
});