I'm trying to use AngularJS and RequireJS in combination. I would like to use the $routeProvider
service and avoid having to load all the controllers for my views on application startup. For that, I tried the following:
define(['require', 'angular', 'appModule'], function (require, angular, app) {
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/sites', {templateUrl: '/Site/GetSitesView', controller: function() {
require(['sitesController'], function(SitesController) {
return new SitesController();
})
}})
}]);
});
Unfortunately, that did not work for me. There are no errors. The JS file containing the controller is being loaded properly but I cannot see the data bound value in the rendered view. I was wondering whether I could assign the value of controller
in some other way that would wait for the asynchronous call (to load the JS file) to complete.
Any ideas?