一、AngularJS动态加载控制器和视图实例

路由配置关键代码:

  1. //二级页面
  2. $stateProvider.state('main', {
  3. url: '/:name',
  4. /**如果需要动态加载数据和控制器***/
  5. views: {
  6. "": {
  7. templateUrl: function ($stateParams) {
  8. console.info($stateParams);
  9. return '/template/' + $stateParams.name + '.html';
  10. },
  11. resolve: {
  12. des: function ($ocLazyLoad, $stateParams) {
  13. if ($stateParams.name == 'about')
  14. return;
  15. return $ocLazyLoad.load('/scripts/myjs/' + $stateParams.name + '.js');
  16. }
  17. }
  18. }
  19. }
  20. });

1.引用:

  1. <script src="../Scripts/jquery-1.10.2.min.js"></script>
  2. <script src="../Scripts/Angular/angular.min.js"></script>
  3. <script src="../Scripts/Angular/ocLazyLoad.min.js"></script>
  4. <script src="../Scripts/Angular/angular-ui-router.min.js"></script>
  5. <link href="../Content/bootstrap.min.css" rel="stylesheet" />

2.HTML

  1. <div class="container" ng-app="myApp">
  2. <ul class="nav nav-pills">
  3. <li role="presentation"><a href="#/home">首页</a></li>
  4. <li role="presentation"><a href="#/about">关于页面</a></li>
  5. </ul>
  6. <div class="panel panel-danger">
  7. <div class="panel-heading">
  8. <div class="panel-title">模板内容</div>
  9. </div>
  10. <div class="panel-body" ui-view></div>
  11. </div>
  12. </div>

3.Js

    1. var app = angular.module('myApp', ['oc.lazyLoad', 'ui.router']);
    2. //配置路由
    3. app.config(function ($stateProvider, $urlRouterProvider) {
    4. $urlRouterProvider
    5. .when('', '/');
    6. //首页
    7. $stateProvider.state('index', {
    8. url: '/',
    9. templateProvider: function ($stateParams) {
    10. console.info('这是首页');
    11. return '<h1>这是首页</h1>';
    12. }
    13. });
    14. //二级页面
    15. $stateProvider.state('main', {
    16. url: '/:name',
    17. /***如果只是动态加载视图**/
    18. //templateUrl: function ($stateParams) {
    19. //    console.info($stateParams);
    20. //    return '/template/' + $stateParams.name + '.html';
    21. //},
    22. //controller: 'homeController',
    23. /**如果需要动态加载数据和控制器***/
    24. views: {
    25. "": {
    26. templateUrl: function ($stateParams) {
    27. console.info($stateParams);
    28. return '/template/' + $stateParams.name + '.html';
    29. },
    30. resolve: {
    31. des: function ($ocLazyLoad, $stateParams) {
    32. if ($stateParams.name == 'about')
    33. return;
    34. return $ocLazyLoad.load('/scripts/myjs/' + $stateParams.name + '.js');
    35. }
    36. }
    37. }
    38. }
    39. });
    40. });

http://blog.csdn.net/u011127019/article/details/53607852

黄聪:AngularJS 动态加载控制器实例-ocLoazLazy的更多相关文章

  1. 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用ApplicationPart动态加载控制器和视图

    标题:从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用Application Part动态加载控制器和视图 作者:Lamond Lu 地址:http://www.cnblogs ...

  2. Swift微博项目--Swift中通过类名字符串创建类以及动态加载控制器的实现

    Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swift中必须用到命名空间,也就是说Swift中通过字符串获取类的方式为NSClassFro ...

  3. AngularJs 动态加载模块和依赖

    最近项目比较忙额,白天要上班,晚上回来还需要做Angular知识点的ppt给同事,毕竟年底要辞职了,项目的后续开发还是需要有人接手的,所以就占用了晚上学习的时间.本来一直不打算写这些第三方插件的学习笔 ...

  4. angularjs 动态加载指令------编译服务$compile

    场景: 我们写了一个自定义的指令,这条指令需要一些数据,而这些数据需要在某些操作之后才能就绪,这时候,我们就需要在数据就绪之后,动态加载指令. 示例: js: $scope.$watch('repor ...

  5. angularjs 动态加载事件的另一种实现

    /** 初始化酒店列表 */ function inintHotel(params,url,$http,$scope){ $http.jsonp(url).success(function(res, ...

  6. 黄聪:异步加载JS的4种方式(详解)

    方案1:$(document).ready <!DOCTYPE html> <html> <head> <script src="http://co ...

  7. swift项目第四天:动态加载控制器

    一:Appdelegate import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate ...

  8. AngularCSS--关于angularjs动态加载css文件的方法(仅供参考)

    AngularCSS CSS on-demand for AngularJS Optimize the presentation layer of your single-page apps by d ...

  9. canvas制作圆形动态加载进度实例

    window.onload=function(){ var loading=document.getElementById('loading'); var context=loading.getCon ...

随机推荐

  1. C++指针易错点梳理

    1 指针定义 指针是一个变量:指针的值是另一个变量的地址.变量的声明 type *var-name; var-name 是指针变量的名称.星号是用来指定一个变量var-name是指针变量. int * ...

  2. [c++]base64编解码 and image

    //½«Í¼ÏñתΪbase64¸ñʽ vector<uchar> vecImg; //Mat ͼƬÊý¾Ýת»»Îªvector<uchar> vector< ...

  3. Python之路,第四篇:Python入门与基础4

    Python3 字符串 字符串是一个有序的字符序列 如何表示一个字符串: 在非注释中凡是用引号括起来的部分都是字符串: ‘  单引号     ”  双引号      ‘’‘  三单引号    “”“ ...

  4. mac下python安装MySQLdb模块

    参考:http://blog.csdn.net/yelyyely/article/details/41114449 1.调整到anaconda下的python 2.安装有关程序 brew instal ...

  5. MyEclipse 优化:之占用CPU过高100%

    原因是  jsp文件代码有4000行左右,MyEclipse打开jsp的时候会越来越慢.CPU占用会越来越高,因此,需要用别的编辑器打开jsp文件,不用在MyEclipse中编辑jsp文件. 我用的是 ...

  6. git 应用

    git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  7. HPU1460: 杨八方的表面兄弟

    题目描述 如果你之前关注过HPUOJ的话,那么你一定听说过杨八方的名字.在去年,很多同学共同见证了杨八方同学的填报志愿.来到学校.军训--或许你曾陪同杨八方一起思考过许多问题,又或者你是刚听说这个名字 ...

  8. 2017.4.5 OpenStack简介

    OpenStack 管理的资源不是单机的而是一个分布的系统,把分布的计算.存储.网络.设备.资源组织起来,形成一个完整的云计算系统:OpenStack 也提供一个 UI,这里包括一个图形化的 UI:H ...

  9. Java 源码解析

    Object equals方法对比两个对象是否是内存中同一个物理地址 hashCode规定,当两个对象相等时,必须返回相等的hashCode,所以重写equals方法有必要重写hashCode方法 如 ...

  10. 实现tail

    编程之路刚刚开始,错误难免,希望大家能够指出. 自己实现一个tail的功能(使用IO系统调用),完全类似的操作步骤就不实现了,主要是让自己加深了解. 下面的代码不足之处很多,以后有空改正. #incl ...