AngularJS와 RequireJS를 함께 사용하려고합니다. $routeProvider
서비스를 사용하고 응용 프로그램 시작시 내보기에 대한 모든 컨트롤러를로드하지 않아도됩니다. 이를 위해 다음을 시도했습니다.필요에 따라 AngularJS 라우팅 및 요청 컨트롤러 사용
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();
})
}})
}]);
});
불행히도, 저를 위해 작동하지 않았습니다. 오류가 없습니다. 컨트롤러가 들어있는 JS 파일이 제대로로드되고 있지만 렌더링 된 뷰에서 데이터 바운드 값을 볼 수 없습니다. 나는 (JS 파일을로드하기 위해) 비동기 호출을 기다리는 다른 방법으로 controller
값을 할당 할 수 있는지 궁금합니다.
아이디어가 있으십니까?
이렇게하는 유일한 방법은 $ controllerProvider를 확보하는 것입니다. 나는 여기서 일하는 해결책을 가지고있다 : https://github.com/matys84pl/angularjs-requirejs-lazy-controllers – matys84pl
@ matys84pl 그것은 실제로 내가하고 싶은 생각의 선을 따른다. 이것을 공유해 주셔서 감사합니다. 한 가지 있지만, 코드를 살펴본 결과, 텍스트 필요 플러그 인을 사용하여 템플릿을로드하는 것을 보았습니다. 라이브러리를 사용하여 템플릿을로드하는 유일한 지원 방법입니까? 서버의 URL에서 템플릿을로드하려면 어떻게해야합니까? – Kassem
URL이 앱과 관련이 있는지에 따라 달라집니다. 즉, 동일한 도메인에 있습니까? 그렇지 않다면 나는 (다른 도메인에서 파일을로드하기 위해) 어떤 종류의 프록시를 사용해야한다고 생각한다. – matys84pl