Я новичок в Угловом мире и в настоящее время пытаюсь завершить чистый проект для нашего проекта ASP.NET MVC, в соответствии с чем каждый Угловой контроллер находится в отдельном файле. Мой вопрос в том, можно ли ленить нагрузку на Угловые контроллеры? В настоящее время я борюсь с RequireJS. Мое доказательство концептуального кода выглядит следующим образом:Ленивая загрузка угловых контроллеров с использованием RequireJS
CSHTML VIEW - Index.cshtml
<script src="~/Scripts/Controllers/mainController.js"></script>
<div class="row" ng-controller="MainController">
<div class="col-md-4">
<span>{{1+1}}</span>
Message Test: {{testmessage}}
<button ng-click="ucase()">Upper</button>
</div>
_Layout.cshtml (первая линия только шоу нг-приложение)
<html ng-app="mainModule">
app.js
var mainModule = angular.module("mainModule", []);
mainController.js
angular.module('mainModule').controller('MainController', ['$scope', function ($scope) {
$scope.testmessage = "hello world!";
$scope.ucase = function() {
$scope.testmessage = angular.uppercase($scope.testmessage);
}
}]);
Как я могу избавиться от ссылки на mainController.js в файле Index.cshtml? Есть ли способ ленивой загрузки контроллера, когда это необходимо? Может ли это потребоватьJS?
Возможно, это поможет вам: http://ify.io/lazy-loading-in-angularjs/ – Cherniv
requirejs можно использовать, и я использовал его в некоторых старых проектах. Однако в эти дни я предпочитаю использовать grunt и комбинировать все js в одном файле js, который включен в html. Это позволяет разделять контроллеры, службы, директивы для разделения файлов и избегать использования requirejs. –