angular.js - ocLazyLoad配合ui-router延迟加载controller,controller提示 not a
某草草
某草草 2017-05-15 17:10:08
0
2
529

问题如题。延迟加载进controller文件后,controller提示不存在。

贴代码:

state:

//state
$stateProvider.state('user.performance', {
                url: '/performances',
                views: {
                    '': {
                        controller: 'PerformanceCtrl',
                        templateUrl: 'tpl/user/performance'
                    }
                },
                resolve:{
                  loadPerformanceCtrl: ["$ocLazyLoad", function ($ocLazyLoad) {
                      return $ocLazyLoad.load('/app/performance/performance.js');//js文件有成功加载进来
                  }]
                }
            })

performance.js

;(function () {
    'use strict';
     myApp.controller('PerformanceCtrl', [
            '$scope',
            'PerformanceService',
            function ($scope, PerformanceService) {
                console.log('PerformanceCtrl');
                //...
        ])
   })();
// myApp 在此前加载的js中已经定义过。var myApp = angular.module('zwb', []);

报错: Argument 'PerformanceCtrl' is not a

某草草
某草草

모든 응답(2)
習慣沉默

저는 이것저것 만져보고 다음을 발견했습니다:

  • 새 모듈을 생성하면 $ocLazyLoad.load()는 다음과 같이 성공적으로 등록된 컴포넌트를 로드합니다$ocLazyLoad.load()加载进来的component registered成功,如下

angular.module('testtest', []).controller('PerformanceCtrl', [
    //...
])
  • 由上边,我想到angular的另一个点,当module不带参时是getter,所以尝试如下:

angular.module('order').controller('PerformanceCtrl', [
    //...
])

ocLazyLoad debug 提示ocLazyLoad.moduleReloaded order 으아아아

위에서 각도의 또 다른 점을 생각했습니다. 모듈이 매개 변수를 사용하지 않으면 getter이므로 다음을 시도하십시오. 🎜 으아아아 🎜ocLazyLoad 디버그는 ocLazyLoad.moduleReloaded order를 프롬프트하여 성능 중인 구성 요소가 로드되고 등록이 성공하도록 합니다. 🎜 🎜오랜 시간 고생했는데 아직까지 Angle에 대한 이해와 컴포넌트 소개에 대한 익숙함이 부족합니다. G_Koala_C 답변 감사합니다, 감사합니다~🎜
PHPzhong

라우팅 해결은 일반적으로 현재 상태에서 사용되는 데이터를 미리 로드한 다음 데이터가 로드된 후 페이지를 로드합니다. 귀하의 상황에서는 게으른 로드가 필요하지 않습니다. 완전히 불필요하지 않습니까? 오류가 어디에 있는지 모르겠습니다. 아마도 두 가지 유형이 있을 것입니다.
1 쓸모가 없는 지연 로딩을 제거합니다.
2. 뷰의 컨트롤러를 loadPerformanceCtrl로 변경하고 해결 이름이 직접 변경되었습니다. 작동하는지 확실하지 않습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿