निम्न उदाहरण हमें बाहर एक पृष्ठ पर एक विजेट bootstrapping में मदद की। पहले एक div बनाया जाता है - jQuery के थोड़े से - विजेट के लिए ng-include
के साथ टेम्पलेट लोड करने के लिए, इसे WidgetLogoController
द्वारा नियंत्रित किया जाता है। अगला एक मॉड्यूल WidgetConfig
बनाया गया है जो विजेट की कॉन्फ़िगरेशन रखता है।
$('#pageWidget').html(`<ng-include src="'/dist/templates/widgetLogo.html'"></ng-include>`)
.attr('ng-controller','WidgetLogoController');
var widgetConfig = {
'widgetId': data.pageWidgetId,
'areaId': data.area,
'pageId': data.pageId
};
angular.module('WidgetConfig', []).value('WidgetConfig', widgetConfig);
angular.bootstrap(document.getElementById('pageWidget'), ['Widget', 'WidgetConfig']);
Widget
मॉड्यूल WidgetConfig
विन्यास शामिल है, लेकिन यह भी के लिए यह CONFIG
में ही एक जगह है:
(function (window, angular) {
'use strict';
window.app = angular.module('Widget', ['ngFileUpload', 'WidgetConfig'])
.constant('CONFIG', {
BASE_URL: 'http://osage.brandportal.com/'
});
})(window, angular);
WidgetController
CONFIG
और WidgetConfig
पहुँच सकते हैं।
(function (app) {
'use strict';
app.controller('WidgetLogoController', ['CONFIG', 'WidgetConfig',
function(CONFIG, WidgetConfig){
console.log('---WidgetLogoController');
console.log('CONFIG', CONFIG);
console.log('WidgetConfig', WidgetConfig);
}]);
}(app));
स्रोत
2016-07-14 07:12:18
हाँ, मैं वर्तमान में एक मॉड्यूल का उपयोग कर रहा हूं जो मूल मॉड्यूल पर परिभाषित 'कॉन्फ़िगर' सेवा को ओवरराइड करता है, ऐसा लगता है कि यह थोड़ा कम टाइपिंग के साथ भी काम करेगा। इसके बारे में एकमात्र दर्द यह है कि मुझे नए मॉड्यूल नाम के लिए एक स्ट्रिंग उत्पन्न करना है। मॉड्यूल को बेकार बनाने का कोई तरीका, और बस मॉड्यूल ऑब्जेक्ट को बूटस्ट्रैप की निर्भरताओं में पास कर सकता है? मैं इसे काम नहीं कर सका। – doubledriscoll
आपको अपने कॉन्फ़िगरेशन-मॉड्यूल के लिए एक अद्वितीय नाम प्रदान करने की आवश्यकता नहीं है। जब आप अपना अगला उदाहरण बूटस्ट्रैप करते हैं तो आप पुराने को ओवरराइट कर सकते हैं। यहां देखें: http://jsfiddle.net/Sjeiti/eT4Z5/ – Sjeiti
अच्छा Sjeiti :-) –