Angular UI-Router templateUrl问题

时间:2014-12-24 01:51:00

标签: angularjs laravel angular-ui-router

我还在学习AngularJS的UI路由器,并希望得到一些帮助。我正在利用嵌套视图功能,但遇到了一些打嗝。我的顶级父级状态有效,但是一旦我开始创建子级,模板URL就开始起作用了。就好像templateUrl对他们的顶级父级不是动态的。我是否错误地命名模板/视图文件?我尽力遵循回购中提供的示例联系人应用程序。

projectsApp.js

var app = angular.module('scynergyApp.projects', ['ui.router']);

app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouteProvider){

$stateProvider

    //////////////
    // Projects //
    //////////////
    .state('projects',{
        url: '/projects',
        templateUrl: 'app/projects/projects.html'  // THIS TEMPLATE URL WORKS
    })

        /////////////////////////
        // Projects > Details /// 
        /////////////////////////
        .state('projects.details', {
          url: '/details',
          templateUrl: 'app/projects/projects.details.html'  // THIS TEMPLATE URL DOESNT WORK -> only if its '../app/projects/projects.details.html'
        })

            ///////////////////////////////////
            // Projects > Details > Overview //
            /////////////////////////////////// 
            .state('projects.details.overview', {
              url: '/overview',
              templateUrl: 'app/projects/projects.details.overview.html'  // THIS TEMPLATE URL DOESNT WORK -> only if its '../app/projects/projects.details.html'
            });
}]);

文件树

public
        app
            projects
                ProjectsController.js
                projectsApp.js  //dependency of app.js
                projects.html
                projects.details.html
                projects.details.overview.html
            app.js

对此的任何指示都将不胜感激。谢谢

1 个答案:

答案 0 :(得分:3)

你应该更好地使用项目根目录中的绝对路径映射,例如/ app / projects / blabla