0

オンラインで提供されているさまざまな方法をすべて試すのに何時間も費やしましたが、何も機能しません. すべての画像がロードされた後に実行するスクリプトをロードしたいだけです。これを行うことを許可しない Angular について何かありますか? 私は使用してい$routeProviderます:

var photos = {
    name: 'photos',
    url: '/photos',
    views: {
        main: {
            templateUrl: "views/photos/photos.html",
            controller: function($scope,$http){
                $http({
                    url: 'get/photos',
                    method: "POST"
                })
                    .success(function (data, status, headers, config) { 
                        $scope.data = data;
                        // this doesn't work
                        $(window).load(function() {
                            myScript();
                        });
                    })
                    .error(function (data, status, headers, config) { $scope.status = status; });
            }
        }
    }
};

ちなみに、コンソールにエラーは出ていません。

4

3 に答える 3

0

http POST 呼び出しが写真を取得しているように思えます。myScriptそして、それは関数だと思います。それでは、これを試してみませんか:

var photos = {
    name: 'photos',
    url: '/photos',
    views: {
        main: {
            templateUrl: "views/photos/photos.html",
            controller: function($scope,$http){
                $http({
                    url: 'get/photos',
                    method: "POST"
                })
                .success(function (data, status, headers, config) { 
                    $scope.data = data;
                    myScript();
                })
                .error(function (data, status, headers, config) {
                    $scope.status = status;
                });
            }
        }
    }
};

myScript関数はPOST成功した後にのみ実行されるためです。dataは実際の画像データを参照していると思います。

于 2013-07-24T03:10:49.473 に答える
0

私の知る限り、Angular は、画像の読み込みが完了したときに通知する方法を提供していません。これには、独自のディレクティブを作成する必要があります。ディレクティブは、1 つ以上の画像のロード完了状態を検出するために必要な JavaScript/jQuery コードをラップします。

画像読み込み時の jQuery コールバック (画像がキャッシュされている場合でも)https://github.com/desandro/imagesloadedが役立つ場合があります。

于 2013-07-24T13:50:01.727 に答える