我是angularjs的新手。我正在使用HTML5在angularjs中进行SPA应用。我希望在调用tempalate页面时加载与页面相关的控制器。例如,我有三个html页面Index.html,HOME.Html和contact.html,并有各自的控制器homecontroller.js和contactController.js。 HOME.Html和contact.html在Index.html的ng-view部分按需加载。
当我在index.html上添加homecontroller.js和contactController.js的引用时,它工作正常但我想加载HOME.Html和contact.html的相应控制器意味着当home被调用时只有homecontroller。 js将被加载,当contactis被调用时,只会加载contactController.js。
任何人都请建议如何实现这个目标
答案 0 :(得分:1)
我建议您使用UI-Router:
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'
}) ;
});