2017-05-01 13 views
0

私は何が欠けているか知っていますが、私はそれを行う方法を知らない。コントローラが登録されていません - そのパスを伝える方法?

私はこのような構成によって、私の角度アプリを構造化:私はそれを行うための一般的な方法を使用して、私のapp.jsで

app -> components -> home -> home.html homeController.js homeService.js 
        -> contact -> contact.html contactController.js contactService.js 
app.js 
index.html 

var appModule = angular.module('app', [ 
    'ngRoute' 
]); 

appModule.config(function($routeProvider, $locationProvider) { 
    $routeProvider 

    .when('/', { 
     templateUrl : 'components/home/home.html', 
     controller : 'homeController', 
    }) 
    .when('/contact', { 
     templateUrl : '/components/contact/contact.html', 
     controller : 'contactController', 
    }) 

    $locationProvider.html5Mode(true); 
}); 

私の問題は、各コントローラが見つからないということです。あなたがそれを行う方法:)知っていれば

おかげで共有するために...私は「templateUrl」はHTMLのパスを定義することができますが、私はどのcontrollerUrlを見つけられませんでした

+0

あなたのコントローラがどのように見えますか? – DDelgro

+0

AngularJSは依存性注入を使用しているため、コントローラへのルートを与える必要はありません。しかし、コントローラーのjavascriptファイルは、スクリプトタグ付きのhtmlに含める必要があります –

答えて

1

それはコントローラを指定する必要はありませんパス。 conntroller.jsファイルをindex.htmlファイルで参照するだけです。 angleは、それが作成された角度モジュールを使用してコントローラを自動的にロードします。

index.htmlを

<body> 

<script src="app/components/home/homecontroller.js"></script> 
<script src="app/components/contact/contactcontroller.js"></script> 
</body> 
</html> 
+0

私はコントローラのパスを参照するだけでインデックスにインクルードを追加することを避けることができたソリューションを望んでいましたが、これはもちろんこのように動作します:) – Chim

+0

@Chim要求時にコントローラをロードするためにrequirejsを使用してみてください – Kalyan

+0

https://www.sitepoint.com/using-requirejs-angularjs-applications/ – Kalyan