Я новичок в Angular.JS
, и я пытаюсь загрузить файл контроллера динамически, когда запрашивает его содержимое, загруженное с ng-include
, я делаю это так, потому что страница, которую я создаю будет иметь несколько контроллеров и я достаточно сделать начальная страница для быстрой загрузки из-за его размера, я не уверен, чтобы сделать это, и я думал, что я бы добиться этого, просто делать:Как загрузить файл контроллера AngularJS при загруженном содержимом
<script type="text/javascript" src="js/controllers/controllerFile.js"></script>
внутри содержимого, загруженного.
контроллер файла, как это
app.controller('parseQuery', function()
{
this.object = 'Enter query and parse.';
this.parse = function()
{
this.object = JSON.stringify(window.getParam(this.query), null, '\t');
};
this.getURL = function()
{
this.query = document.URL;
this.parse();
};
});
файл html
называет контроллер с ng-controller
, как он должен работать. Но когда содержимое загружается, javascript возвращает ошибку Argument 'parseQuery' is not a
, поэтому ничего не работает, как я могу добиться загрузки файла контроллера после того, как приложение уже загружено?
Угловые не могут ленивые контроллеры загрузки (или сервисы или что-то еще угловое) после того, как они были загружены. Из коробки все равно. Вы можете взглянуть на https://github.com/ocombe/ocLazyLoad или подождать Angular 2, который будет поддерживать ленивую загрузку. – jlowcs
@jlowcs Итак, у меня нет выбора, кроме как загрузить все контроллеры на начальной странице? – nosthertus
Я вполне уверен, что ваш общий размер кода намного меньше, чем сам angular.js, который должен быть загружен наверняка - так в чем смысл? –