0

lazyload で ui-router を使用しようとしています。クロムから、必要な js がロードされていることがわかりますが、angular がエラーをスローします。

エラーから、コントローラーが初期化されていないことがわかり、ルーターコードが添付されています。

var app = angular.module('aaaaa', ['oc.lazyLoad', 'ui.router']);

app.config(function($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/pages/dashboard');

  $stateProvider.state('index', {
    url: '/pages/:name',
    templateUrl: function($stateParams) {
      return 'templates/' + $stateParams.name + '.html';
    },
    controllerProvider: function($stateParams) {
      return $stateParams.name;
    },
    resolve: {
      loader: ['$ocLazyLoad', '$stateParams', function($ocLazyLoad, $stateParams) {
        var url = 'templates/controllers/' + $stateParams.name + '.js';
        console.log(url);

        return $ocLazyLoad.load({
          name: 'aaaaa',
          files: [url]
        });
      }]
    }
  });
});

何か不足していますか?

4

2 に答える 2

0

問題が解決しました。

別のコントローラーファイルでは、これを書くことはできません。

app.controller ('xxx', [ ... ]);

代わりに、

angular.module('xxxx').controller ('xxx', [ ... ])

理由はまだわかりませんが、うまくいきました。

于 2015-07-20T15:08:07.940 に答える