के साथ एक नियंत्रक लोड करने के लिए मुझे $ राज्य प्रदाता के साथ oclazyload का उपयोग कर समस्याएं आ रही हैं।
मैंने निर्दिष्ट किया है कि नियंत्रक .js राउटर कॉन्फ़िगरेशन में लोड किया जाना चाहिए, और यह करता है, 'लेकिन यह templateURL में लोड की गई फ़ाइल में एनजी-नियंत्रक विशेषता के रूप में उपयोग करने के लिए उपलब्ध नहीं है।
ui मार्ग config:
core
.run(
[ '$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]
)
.config(
[ '$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
console.info('Routing ...');
$urlRouterProvider
.otherwise('/app/dashboard');
$stateProvider
.state('app', {
abstract: true,
url: '/app',
templateUrl: 'templates/app.html',
})
.state('app.orders', {
abstract: true,
url: '/orders',
templateUrl: 'templates/orders/orders.html',
})
.state('app.orders.index', {
url: '/index',
templateUrl: 'templates/orders/index.html',
resolve: {
deps: ['$ocLazyLoad',
function($ocLazyLoad){
console.info('Path ot order controller in route config',Momento.paths.js + 'controllers/orders/index.js');
return $ocLazyLoad.load([
Momento.paths.js + 'controllers/orders/index.js'
])
}
]
}
})
}
]
)
;
और मेरे templateURL फ़ाइल शुरू होता है:
<div class="" id="" ng-controller="OrdersIndexController">...</div>
लेकिन जब यह लोड करता है, कंसोल त्रुटि फेंकता है:
<info>orders/index controller loaded controllers/orders/index.js:3
<info>Now I've finished loading the controller/order/index.js config/ui-router.js:69
<info>orders template loaded VM30437:1 (<-- this is the app.orders abstract template with ui-view directive ready for app.orders.index view)
<error>Error: [ng:areq] Argument 'OrdersIndexController' is not a function, got undefined
... <trace>
तो फ़ाइल है lazyload द्वारा सही ढंग से लोड किया गया, उपरोक्त कंसोल आउटपुट और डेवलपर टूल में नेटवर्क टैब द्वारा पुष्टि की गई, लेकिन यह उपलब्ध नहीं है नियंत्रक के रूप में उपयोग करने के लिए templateURL में? नियंत्रक का उपयोग कर राउटर कॉन्फ़िगरेशन में या तो इसे अलियाड करने की आवश्यकता है: '' कुंजी या टेम्पलेट में? क्या इसे इस ऐप में (केवल) मॉड्यूल से विशेष रूप से संलग्न करने की आवश्यकता है?
मुझे क्या याद आ रही है?
पुनश्च: पुष्टि है कि नियंत्रक के नाम तथ्य OrdersIndexController में है:
core
.controller('OrdersIndexController', [
'Model', '$scope', '$window',
function( Model, $scope, $window){
console.info("OrdersIndexController fired");
}
]);
आप अपनी समस्या को हल कर सके काम कर रहे हैं? मुझे ऐसा ही लगता है। – Sjoerd222888
नहीं, मैं इस परियोजना पर इस मुद्दे को हल करने में सक्षम नहीं था। नोट: फिलिपइप से पोस्ट ठीक है यदि आपका नियंत्रक किसी अन्य मॉड्यूल का हिस्सा है ... लेकिन यदि आपके मुख्य मॉड्यूल का हिस्सा है, तो यह आपके मॉड्यूल के रूप में काम नहीं करेगा और लोड हो चुका है। शायद ocLazyLoad इसे जोड़ या विस्तार और पुनः लोड कर सकता है, मुझे यकीन नहीं है, लेकिन मैं अब कोणीय का अधिक उपयोग नहीं करता हूं। मैं अब एम्बर को बहुत पसंद करता हूं। –