2016-04-14 8 views
0

Ich bin neu in angularjs.Ich mache eine SPA-Anwendung in angularjs mit HTML5.Ich möchte Seite bezogenen Controller laden, wenn template Seite aufgerufen. Zum Beispiel habe ich drei html Seite Index.html, HOME.Html und contact.html und habe die entsprechenden Controller homecontroller.js und contactController.js. HOME.Html und contact.html wird im Abschnitt ng-view von Index.html geladen.Seite jeweiligen Controller wird auf Anfrage in Winkel js geladen

Wenn ich Verweis von homecontroller.js und contactController.js auf index.html hinzufügen, dann funktioniert es gut, aber ich möchte den entsprechenden Controller von HOME.Html laden und contact.html on demand bedeutet, wenn zu Hause heißt dann nur homecontroller .js wird geladen und wenn contactis angerufen wird, wird nur contactController.js geladen.

Jeder bitte vorschlagen, wie es dies erreichen wird

+0

können Sie bitte etwas Code zeigen? – fikkatra

Antwort

1

ich Ihnen vorschlagen, den UI-Router zu verwenden:

https://github.com/angular-ui/ui-router

myApp.config(function($stateProvider, $urlRouterProvider) { 
    // 
    // For any unmatched url, redirect to /home 
    $urlRouterProvider.otherwise("/home"); 
    // 
    // Now set up the states 
    $stateProvider 
    .state('home', { 
     url: "/home", 
     templateUrl: "partials/home.html", 
     controller: 'homeController', 
     controllerAs: 'homeCtrl' 
    }) 
    .state('contact', { 
     url: "/contact", 
     templateUrl: "partials/contact.html", 
     controller: 'contactController', 
     controllerAs: 'contactCtrl' 
    }) ; 
});