本文共 2038 字,大约阅读时间需要 6 分钟。
一、AngularJS动态加载控制器和视图实例
路由配置关键代码:
//二级页面$stateProvider.state('main', { url: '/:name', /**如果需要动态加载数据和控制器***/ views: { "": { templateUrl: function ($stateParams) { console.info($stateParams); return '/template/' + $stateParams.name + '.html'; }, resolve: { des: function ($ocLazyLoad, $stateParams) { if ($stateParams.name == 'about') return; return $ocLazyLoad.load('/scripts/myjs/' + $stateParams.name + '.js'); } } } }});
1.引用:
2.HTML
3.Js模板内容
var app = angular.module('myApp', ['oc.lazyLoad', 'ui.router']);//配置路由app.config(function ($stateProvider, $urlRouterProvider) { $urlRouterProvider .when('', '/'); //首页 $stateProvider.state('index', { url: '/', templateProvider: function ($stateParams) { console.info('这是首页'); return '更多:这是首页
'; } }); //二级页面 $stateProvider.state('main', { url: '/:name', /***如果只是动态加载视图**/ //templateUrl: function ($stateParams) { // console.info($stateParams); // return '/template/' + $stateParams.name + '.html'; //}, //controller: 'homeController', /**如果需要动态加载数据和控制器***/ views: { "": { templateUrl: function ($stateParams) { console.info($stateParams); return '/template/' + $stateParams.name + '.html'; }, resolve: { des: function ($ocLazyLoad, $stateParams) { if ($stateParams.name == 'about') return; return $ocLazyLoad.load('/scripts/myjs/' + $stateParams.name + '.js'); } } } } });});
转载地址:http://tcogi.baihongyu.com/