问题如题。延迟加载进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
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不带参时是getter,所以尝试如下:
ocLazyLoad debug 提示
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 menggesaocLazyLoad.moduleReloaded order
rrreeeocLazyLoad.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~🎜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.