हाय मैं कुछ फुटबॉल स्कोर स्क्रैप करने के लिए import.io का उपयोग करने की कोशिश कर रहा हूं। मैं अपने जेएस को एपीआई के साथ काम करने और डेटा देने में कामयाब रहा। समस्या यह है कि यह नियंत्रक के अंदर एक निजी दायरे में होना चाहिए क्योंकि मैं उस पर एक एनजी-दोहराना नहीं कर सकता।तृतीय पक्ष लाइब्रेरी से एंगुलरजेएस स्कोप अपडेट करें एसिंक्रोनस कॉलबैक
क्या कोई मुझे बता सकता है कि क्यों, और यदि किसी के पास स्कोप पर एक अच्छी मार्गदर्शिका है जो शायद अधिक उपयोगी होगी।
latestScores.controller('ScoresController', function ($scope) {
$scope.pots = [];
var io2 = new importio("XXX", "XXXXXX[API KEY]XXXXXXXX", "import.io");
io2.connect(function (connected) {
if (!connected) {
console.error("Unable to connect");
return;
}
var data;
var callback = function (finished, message) {
if (message.type == "DISCONNECT") {
console.error("The query was cancelled as the client was disconnected");
}
if (message.type == "MESSAGE") {
if (message.data.hasOwnProperty("errorType")) {
console.error("Got an error!", message.data);
} else {
data = message.data.results;
}
}
if (finished) {
pots = data;
console.log(pots); /* This gives me an object */
}
}
io2.query({
"connectorGuids": [
"d5796d7e-186d-40a5-9603-95569ef6cbb9"],
}, callback);
});
console.log($scope.pots); /* This gives me nothing */
});
आप स्थानीय चर बर्तन करने के लिए डेटा asigning कर रहे हैं, $ करने के लिए यह बताए कॉलबैक में scope.pots – ecyshor
स्थानीय नहीं @NicuReut कोशिश करने के लिए कोड
के इस टुकड़े - बर्तन - खिड़की में वैश्विक चर है :-) – Grundy