cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - ocLazyLoad配合ui-router延迟加载controller,controller提示 not a

问题如题。延迟加载进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

某草草某草草2744 hari yang lalu538

membalas semua(2)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-15 17:12:08

    Saya bermain-main dengannya dan mendapati:

    • Apabila saya mencipta modul baharu, $ocLazyLoad.load() memuatkan komponen yang didaftarkan dengan jayanya, seperti berikut$ocLazyLoad.load()加载进来的component registered成功,如下

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

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

    ocLazyLoad debug 提示ocLazyLoad.moduleReloaded order

  • rrreee

    Daripada perkara di atas, saya memikirkan satu lagi titik dalam sudut Apabila modul tidak mengambil parameter, ia adalah pengambil, jadi cuba yang berikut: 🎜 rrreee 🎜ocLazyLoad debug menggesa ocLazyLoad.moduleReloaded order, supaya komponen dalam prestasi dimuatkan dan daftar berjaya. 🎜 🎜Saya telah bergelut untuk masa yang lama, dan pemahaman saya tentang sudut dan kebiasaan dengan memperkenalkan komponen masih belum mencukupi. Terima kasih atas jawapan G_Koala_C, terima kasih~🎜

    balas
    0
  • PHPz

    PHPz2017-05-15 17:12:08

    Keazaman penghalaan biasanya pramuat data yang digunakan oleh keadaan semasa, dan kemudian memuatkan halaman selepas data dimuatkan. Dalam keadaan anda, tidak perlu memuatkan malas. Saya tidak tahu di mana kesilapan anda mungkin terdapat dua jenis:
    1 Alih keluar pemuatan malas, yang tidak berguna.
    2 Tukar pengawal dalam paparan kepada loadPerformanceCtrl, dan selesaikan telah dinamakan semula secara langsung. Tidak pasti sama ada ia berfungsi.

    balas
    0
  • Batalbalas