AngularJS:通过UI路由器加载js文件

时间:2015-06-08 05:17:01

标签: angularjs angular-ui-router

我的应用程序中有AngularJs ui路由器。我需要根据我的状态加载js文件。

.state('root.home',{
        url: '/index.html',
        views: {
            'header': {
                templateUrl: 'modules/header/html/header.html',
                controller: 'headerController'
            },          
            'content-area': {
                templateUrl: 'modules/home/html/home.html',
                controller: 'homeController'
            },
            'footer': {
                templateUrl: 'modules/common/html/footer.html',
                controller: 'footerController'
            }
        },
        data: {
            displayName: 'Home',
         }
    })

headerController,homeController和footerController在加载home状态时有不同的js文件我们需要加载控制器js文件是否可以通过UI路由器?

3 个答案:

答案 0 :(得分:0)

我认为您需要使用像RequireJs这样的框架 它是在您向用户显示的页面上加载脚本文件

  

RequireJS加载相对于baseUrl的所有代码。

检查一下。我认为这可能会有所帮助。

答案 1 :(得分:0)

您不应该根据路线状态动态加载javascript文件,而应该连接所有js文件并通过Gulp缩小编译后的源代码。

https://www.npmjs.com/package/gulp-concat https://www.npmjs.com/package/gulp-minify

答案 2 :(得分:-1)

ui-route比requirejs(ng-route)更强大。

你可以看一下她的差异:

What is the difference between angular-route and angular-ui-router?

http://www.amasik.com/angularjs-ngroute-vs-ui-router/