Very new to AngularJS, I guess the term I'm trying to do is lazy workload. I looked through several different blogs and I did not find a complete working solution that uses only AngularJS.
I understand that if I put <script src="js/process1.js"></script> in index.html, everything works fine, I'm trying to reduce the amount of js that gets pulled out at boot time.
With a script tag sitting in partial, it never loads, so P1Ctrl is never created. So at present, if the user enters the application and never goes to process55, the user still has code for process55, although he has never been used.
Is there a way to upload the file and paste the objects created in process1.js into the application, defined mostly during the execution of the process1 route?
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Large Angular App</title> <link rel="stylesheet" href="lib/foundation/css/foundation.min.css" /> </head> <body ng-app="largeApp" ng-controller="LargeAppController"> <div> <a href="#/home">Home</a> | <a href="#/process1">Process1</a> </div> <br/> <br/> <br/> <ng-view>Test</ng-view> <script type="text/javascript" src="lib/jquery/jquery.min.js"></script> <script type="text/javascript" src="lib/angular/angular.js"></script> <script type="text/javascript" src="lib/angular/angular-route.js"></script> <script type="text/javascript" src="js/main.js"></script> </body> </html>
JS / main.js:
var app = angular.module("largeApp", ['ngRoute']); var appCtrl = app.controller("LargeAppController", function(){}); app.config(function ($routeProvider, $controllerProvider) { // save references to the providers app.registerCtrl = $controllerProvider.register, $routeProvider.when('/', {templateUrl: 'partials/home.html'}); //Thinking I need to set up a resolve to fire off a script loader to load js. $routeProvider.when('/process1', {templateUrl: 'partials/process1/process1.html'}); $routeProvider.otherwise({redirectTo: '/'}); });
overtones / home.html:
<div> Home Page </div>
overtones / process1.html:
<script type="text/javascript" src="js/process1/Process1Controller.js"></script> Process 1 {{process1data}}
JS / process1.js:
console.log("I made it here"); app.registerCtrl('Process1Controller',function($scope){ $scope.process1data = "Hello!"; } ]);
javascript jquery html angularjs
John 17 Oct '13 at 18:17 2013-10-17 18:17
source share