के बाहर से एक सेवा को अपडेट करने की आवश्यकता है। मेरे पास 'प्लेयर' नामक एक सेवा है और फ्लैश ऑब्जेक्ट लोड होने पर मुझे सेवा को अपडेट करने की आवश्यकता है।कोणीयजेएस: मुझे कोणीय
mySongPlayer.factory('player', function() {
var isPlayerLoaded = false;
var playerHolder = '';
window.playerReady = function(thePlayer) {
playerHolder = window.document[thePlayer.id];
addListeners();
isPlayerLoaded = true;
}
var flashvars = {
file:"",
autostart:"true",
skin: "/skins/glow/glow.zip",
}
var params = {
allowfullscreen:"false",
allowscriptaccess:"always"
}
var attributes = {
id:"player1",
name:"player1"
}
swfobject.embedSWF("/player.swf", "player_placeholder", "100%", "40", "9.0.115", false, flashvars, params, attributes);
var playObj;
return playObj || (playObj = {
currentId: 'test', currentUrl: 'url', playerHolder: ''
});
});
मैं कैसे
angular.element(DOMElement).injector().get('player')
का उपयोग कर सेवा का उपयोग करने जानते हैं, लेकिन यह खिलाड़ी 'का एक नया उदाहरण देता है, जबकि मैं पहले से ही मॉड्यूल में बनाया उदाहरण अपडेट करना होगा। क्या इसे करने का कोई तरीका है? मुझे केवल खिलाड़ी का एक उदाहरण चाहिए, लेकिन मुझे इसे बाहरी जावास्क्रिप्ट से प्रारंभ करना होगा।
इसे 'स्कोप()। MyService' पर क्यों लागू नहीं किया जा सकता है? 'इंजेक्टर() प्राप्त करें 'स्कोप() प्राप्त करने में क्या अंतर है। myService' – pocesar
इस विशेष उदाहरण में, आप कर सकते हैं। हालांकि, यह केवल तभी काम करेगा जब सेवा को एक दायरे की संपत्ति के रूप में जोड़ा गया हो, जो हमेशा मामला नहीं होता है। तो 'injector.get()' वह है जिसे आप उपयोग करना चाहते हैं यदि आप चाहते थे कि यह * सभी * मामलों में काम करे। –
'document.querySelector ('[ng-controller]') का उपयोग करने से आपको क्या लाभ होता है? 'angor.element()' के तर्क के रूप में '' [ng-controller] 'या '' [ng-app] 'का उपयोग करके बस उतना ही अच्छा लगता है? – Superole