xjinza
12/28/2017 - 8:01 AM

angular动态加载模板

angular动态加载模板 templateProvider

$stateProvider.state('companyDetailProducts', {
                title: "公司详情产品",
                reloadOnSearch: false,
                url: '/companyDetailProducts?compId&shopCateId&keyword',
                templateProvider: ['$timeout', '$stateParams', '$templateFactory', 'templateByTypeService', '$parse', function($timeout, $stateParams, $templateFactory, templateByTypeService, $parse) {
                    return $timeout(function() {
                        var templateCode = templateByTypeService.getTemplate();
                        return $templateFactory.fromUrl(eval('companyDetailProducts' + templateCode));
                    }, 500);
                }],
                controller: 'companyDetailProductsCtrl',
                resolve: {
                    loadCtrl: ['$q', function($q) {
                        var defer = $q.defer();
                        require.ensure([], function(require) {
                            defer.resolve(require('../js/controller/companyDetailProductsCtrl.js'));
                        }, 'companyDetailProducts');
                        return defer.promise;
                    }]
                }

            })