6

大規模なアプリケーションでは、index.html にロードせずに、モジュール、コントローラー、サービスを必要なときにいつでも遅延ロードするにはどうすればよいでしょうか。ここでは、index.html ではなく、関連するテンプレート html に js 全体をロードすることを参照しています。(モジュール、複数のコントローラー、サービス、特定の機能のディレクティブ、または複数のコントローラーまたはサービスを持つ個々のjsファイルを持つ異なるjsである可能性があります)

RequireJs を使用したくありません。ただし、角度自体の中で解決策を探しています。

angular.module( 'my-second-module', ['ui.router'])

.config(function config($stateProvider) {
    $stateProvider
        .state('mainscreen', {
            url: "/mainscreen",
            templateUrl: "app/MyMain.tpl.html"
        })
        .state('mainscreen.sub', {
            url: "/sub",
            controller: 'subCtrl',
            templateUrl: "app/sub.tpl.html"
        })
})
.controller( 'subCtrl', function contractCtrl
    ($scope,$http,$route,$location) {
})
.controller( 'subTwoCtrl', function newContractCtrl($scope,someService,$http,$templateCache) {
.filter('myTypeFilter',function(){
    return function (input,value){       
        return 'Normal';
   };
})
.service('newService', function () {
    var selectedContract = [];
    var hotelObject=[{}];
    return {
        notes:function () {
        },
        addNote:function (noteTitle) {
        }
    };
})
.directive('autocomplete', function($parse) {
return function(scope, element, attrs) {
    var setSelection = $parse(attrs.selection).assign;
    scope.$watch(attrs.autocomplete, function(value) {
        element.autocomplete({
            source: value,
            select: function(event, ui) {
                setSelection(scope, ui.item.value);
                scope.$apply();
            }
        });
    });
};
})
.factory('restService', function(commonService) {
return {
    setReturnMessage: function(res) {
};
})
});
4

2 に答える 2

0

Angular チームが angular v2.0 をリリースすると、はるかに簡単になるはずですが、それまでの間は、私のモジュールを使用してほとんど何でも遅延ロードできます: ocLazyLoad

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2014-04-29T08:49:34.397 に答える