zoukankan      html  css  js  c++  java
  • 简单的单页面应用及路由配置的优化

    ## 未优化的基础单页面应用

    <body ng-app="myApp">
        <ul>
            <li><a href="#/find">发现音乐</a></li>
            <li><a href="#/mine">我的音乐</a></li>
            <li><a href="#/friend">我的朋友</a></li>
        </ul>
        <div ng-view>
            
        </div>
        <script src="./libs/angular.js"></script>
        <script src="./libs/angular-route.js"></script>
        <script>
            //一个页面、一个链接对应一个路由
            //module model
            var myApp = angular.module('myApp',['ngRoute']);
            //配置路由
            myApp.config(['$routeProvider',function($routeProvider){
                $routeProvider
                            .when('/find',{
                                templateUrl:'./find.html',
                                controller:'findController'
                            })
                            .when('/mine',{
                                templateUrl:'./mine.html',
                                controller:'mineController'
                            })
                            .when('/friend',{
                                templateUrl:'./friend.html',
                                controller:'friendController'
                            })
            }])

    myApp.controller('findController',['$scope',function($scope){ $scope.title = '发现音乐'; }]) myApp.controller('mineController',['$scope',function($scope){ $scope.title = '我的音乐'; }]) myApp.controller('friendController',['$scope',function($scope){ $scope.title = '我的朋友'; }]) </script> </body>
    ## 项目比较大时,把所有的代码全部放在myAPP这个模块上,就可能有点多
    ## 创建多模块优化
            var friendModule = angular.module('friendModule',[]);
            friendModule.controller('friendController',['$scope',function($scope){
                $scope.title = '我的朋友';
            }])
            var mineModule = angular.module('mineModule',[]);
            mineModule.controller('mineController',['$scope',function($scope){
                $scope.title = '我的音乐';
            }])
            var findModule = angular.module('findModule',[]);
            findModule.controller('findController',['$scope',function($scope){
                $scope.title = '发现音乐';
            }])

      ## 并添加至myApp中

    var myApp = angular.module('myApp',['ngRoute','friendModule','mineModule','findModule']);

    ## 继续优化 

    ## 创建多个js文件分别存储各模块,例其一

    var mineModule = angular.module('mineModule',[]);
    mineModule.config(['$routeProvider',function($routeProvider){
                $routeProvider
                            .when('/mine',{
                                templateUrl:'./mine.html',
                                controller:'mineController'
                            })
            }])
            mineModule.controller('mineController',['$scope',function($scope){
                $scope.title = '我的音乐';
            }])

    ## 引入各模块实现最终优化

    <script src="./libs/angular.js"></script>
        <script src="./libs/angular-route.js"></script>
        <script src="./friendModule.js"></script>
        <script src="./mineModule.js"></script>
        <script src="./findModule.js"></script>
        <script>
            var myApp = angular.module('myApp',['ngRoute','friendModule','mineModule','findModule']);
        </script>
  • 相关阅读:
    java语言中public、private、protected三个关键字的用法,重写和重载的区别。
    MVC模式中M,V,C每个代表意义,并简述在Struts中MVC的表现方式。
    abstract class和interface有什么区别?
    简单说明什么是递归?什么情况会使用?并使用java实现一个简单的递归程序。
    在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
    简述基于Struts框架Web应用的工作流程
    List、Map、Set三个接口存储元素时各有什么特点?
    mybatis查询时间段sql语句
    Maven pom.xml中添加指定的中央仓库
    为什么需要RPC,而不是简单的HTTP接口
  • 原文地址:https://www.cnblogs.com/z-Feng/p/7342251.html
Copyright © 2011-2022 走看看