私の依存関係の一部を遅延ロードするためにrequire.jsを使用しようとしていますが、いくつか問題があります。Angular ui-routingを使用してrequirejsモジュールをロードするように解決する
私は、次のコードは、(角-UI-ルータを経由して)角度neeeds前にそれをレジスタコントローラをロードしようとすべきであると考えている:私は、ログイン状態からレジスタ状態に切り替えたとき、私は、
.state('register', {
url: '/register',
class: 'login',
title: 'Register',
templateUrl: 'app/security/register.view.html',
controller: 'RegisterController',
controllerAs: 'register',
resolve: {
require: function ($q) {
return $q(function (resolve, reject) {
console.log('security/register.controller loading')
require(['security/register.controller'], function() {
console.log('security/register.controller loaded')
resolve()
})
})
}
}
})
しかし、コンソールで次の出力を得る:
RouteChanged Login
security/register.controller loading
security/register.controller loaded
RouteChanged Register
Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?p0=RegisterController&p1=not%20aNaNunction%2C%20got%20undefined
そう決意が実行されるにもかかわらず、角度はそれがRegisterControllerを見つけることができないというエラーがスローされます。
Here's a link to a plunker.あなたが見ることができるように、コントローラは、あなたがリンクをクリックしたときにロードされず、エラーメッセージがコンソールに表示されます。
私は自分の答えを投稿した後、それがかなり役に立つと感じました。私はそれをチェックします、ありがとう:) –
ocLazyLoadを調査した後、それは依存関係を処理しないように思われるので、すべてのファイル名を手動で指定する必要があります。本当? –
どうですか?この例では、すべてのスクリプトがモジュールが機能するためのものです。 –