调用Angular js文件,部分不首次工作

时间:2015-01-29 06:53:52

标签: javascript jquery angularjs http

我正在尝试使用$ http加载以下js和partial。我的问题是当我运行代码firest time get controller undefined type error, 在第二次点击时它可以正常工作。

JAVASCRIPT ::

$scope.loadPage = function(testurl) {
            $scope.testpage = testurl;
            var element = angular.element($("#data_template"));
            $http.get(testurl).success(function(data) {
                element.html(data);
                $compile(element.contents())($rootScope);
                $('.div1').slideUp('slow');
                $('#data_template').slideDown('slow');
            });
        };

HTML ::          

<div class="movie-listing movie-listing-step"
 ng-controller="ProductAddController">

 <!-- all DOm PArt -->

 </div>

mt js来自s3桶,所以可能是js需要很长时间才能到来并且$ compile在js加载之前开始。如何解决这个问题??

1 个答案:

答案 0 :(得分:0)

我在这里使用了$viewContentLoaded

app.controller('ProductAddController', function ($scope, $timeout) {
    $scope.loadPage = function(testurl) {
        $scope.testpage = testurl;
        var element = angular.element($("#data_template"));
        $http.get(testurl).success(function (data) {
            element.html(data);
            $compile(element.contents())($rootScope);
            $('.div1').slideUp('slow');
            $('#data_template').slideDown('slow');
        });
    }
        $scope.$on('$viewContentLoaded', function(event) {
            $timeout(function() {
                $scope.loadPage(testurl);
            },0);
    });