2

我有嵌套的 angularJS 模块EventListEventPage.

目录结构如下所示:

app.js
EventForm
|_ EventList.js
   eventListView.html
   EventPage
   |_EventPage.js
     eventPageView.html

事件列表.js:

angular.module('EventList', ['EventPage'])

.config([ '$routeProvider', function config($routeProvider){
    $routeProvider.when(Urls.EVENT_LIST, {
        templateUrl: 'app/EventList/event-list.html',
        controller: 'EventListCtrl'
      });
 }])


.controller('EventListCtrl', ['$scope', '$location', '$http', function EventListController($scope, $location, $http) {

}]);

事件页面.js:

angular.module('EventPage', [])

.config([ '$routeProvider', function config($routeProvider){
    $routeProvider.when(Urls.EVENT_PAGE + '/:id', {
        templateUrl: 'app/EventList/EventPage/event-page.html',
        controller: 'EventPageCtrl'
      })
 }])


.controller('EventPageCtrl', ['$scope', '$routeParams', '$http', function EventPageController($scope, $routeParams, $http) {

  }]);

显然,templateUrl现在是硬编码的。我的问题是templateUrl在 routeProvider 中设置的最佳方法是什么,以便模块不依赖于硬编码的目录结构,并且可以在其他 AngularJS 项目中取出并重用而不会中断?有没有办法进入insertViewNameHere.html当前文件夹?

4

1 回答 1

0

如果您使用的是Grunt,这很容易。不是因为模块化 AngularJS 是微不足道的,而是因为做angular-bootstrap的好人已经为您完成了所有艰苦的工作......

当我遇到这个问题时,我只是下载了他们的Gruntfile并将每个更改ui.bootstrapmy-angular-module. 因为我模仿了他们的基本目录结构,所以它开箱即用。

此外,您可能想要更新 Angular 和 Bootstrap 版本。例如,改变

ngversion: '1.0.8',
bsversion: '2.3.1',

ngversion: '1.2.3',
bsversion: '3.0.2',
于 2013-11-28T19:42:21.797 回答