angularjs - Firebase angularfire child.$asObject give properties undefined -


मुझे यह कोड मिला है:

कारखाना

  app.factory ('आइटम', फ़ंक्शन ($ firebase, FIREBASE_URL) {var ref = new Firebase (FIREBASE_URL); var आइटम = $ firebase (ref.child ('आइटम'))। $ AsArray ( ); Var मद = {सभी: फ़ंक्शन () {वापसी आइटम;}, बनाएं: फ़ंक्शन (आइटम) {रिटर्न आइटम। $ Add (item);}, प्राप्त करें: फ़ंक्शन (आइटम आईडी) {वापसी $ firebase (ref.child ( बच्चे (आइटम आईडी))। (आइज़ आईडीआईडी)। $ AsObject ();}, अपडेट करें: फंक्शन (आइटम आईडी, आइटम) {रिटर्न डॉलर फायरबसे (रिफ। चाइल्ड ('आइटम')। ;}, हटाएं: फ़ंक्शन (आइटम) {रिटर्न आइटम। $ निकालें (आइटम);}}; वापसी आइटम;});  

मार्ग

  app.config (फ़ंक्शन ($ राज्य प्रदाता) {$ stateProvider .state ('items_update', {url : 'आइटम / अद्यतन /: आईडी', टेम्पलेटउरेल: 'दृश्य / आइटम / फॉर्म-एचएमएस', नियंत्रक: 'आइटम्सअपडेट कंट्रोलर', हल करें: {आइटम: फ़ंक्शन (आइटम, $ स्टेटपरैम) {वापसी आइटम.गेट ($ राज्यपरम। आईडी);}}})});  

नियंत्रक

  app.controller ('ItemsUpdateController', फ़ंक्शन ($ दायरा, आइटम, $ राज्य) {$ scope .item = item; console.log ($ scope.item.url); $ scope.add = function () {items.update ($ scope.item)। तब (function () {$ state.transitionTo ('आइटम' );});}});  

क्यों console.log ($ scope.item.url); मुझे अव्यक्त देना क्या है?

लेकिन इस दृश्य में मुझे सभी डेटा मिल गया

html

  & lt; form वर्ग = "फ़ॉर्म-क्षैतिज" भूमिका = "फॉर्म" नाम = "फॉर्म" डेटा-एनजी-जमा करें = "जोड़ ()" & gt; & Lt; div वर्ग = "फॉर्म-समूह" & gt; & Lt; input type = "text" name = "title" tabindex = "1" वर्ग = "फॉर्म-कंट्रोल" प्लेसहोल्डर = "{{items.form.title '| अनुवाद}}" डेटा-एनजी-मॉडल = "आइटम .title "आवश्यक =" आवश्यक "डेटा-एनजी-मिनलाँग =" 3 "डेटा-एनजी-मैक्सिलैंम्ब =" 25 "यूजर-फीडबैक / & gt; & Lt; / div & gt; & Lt; div वर्ग = "फॉर्म-समूह" & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" नाम = "सामग्री" टैबिंडेक्स = "2" वर्ग = "फॉर्म-कंट्रोल" प्लेसहोल्डर = "{{items.form.ingredients '| अनुवाद}}" डेटा-एनजी-मॉडल = "आइटम । सामग्री "आवश्यक =" अपेक्षित "एनजी-पैटर्न =" / ^ \ w (\ s *,? \ S * \ w) * $ / "उपयोगकर्ता-प्रतिक्रिया / & gt; & Lt; / div & gt; & Lt; div वर्ग = "फॉर्म-समूह" & gt; & Lt; input type = "text" name = "price" tabindex = "3" वर्ग = "फॉर्म-कंट्रोल" प्लेसहोल्डर = "{{items.form.price '| translate}}" डेटा-एनजी-मॉडल = "आइटम .price "आवश्यक =" आवश्यक "डेटा-स्मार्ट फ़्लोट उपयोगकर्ता-प्रतिक्रिया / & gt; & Lt; / div & gt; & Lt; div वर्ग = "फॉर्म-समूह" & gt; & Lt; बटन प्रकार = "बटन" tabindex = "4" वर्ग = "बीटीएन बीटीएन-डिफ़ॉल्ट बीटीएन-एलजी" आइटम = "आइटम" डेटा-अपलोडर & gt; {{'items.form.upload' | अनुवाद करें}} & lt; / button & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" नाम = "url" शैली = "प्रदर्शन: कोई नहीं;" आवश्यक = "आवश्यक" डेटा-एनजी-मॉडल = "आइटम.उर्नल" / & gt; & Lt; / div & gt; & Lt; div वर्ग = "फॉर्म-ग्रुप फॉर्म-नो-आवश्यक क्लियरफिक्स" & gt; & Lt; div वर्ग = "पुल-दायें" & gt; & Lt; बटन प्रकार = "सबमिट करें" tabindex = "5" वर्ग = "बीटीएन बीटीएन-प्राथमिक" डेटा-एनजी-अक्षम = "फ़ॉर्म। $ अमान्य" & gt; {{'items.form.submit' | अनुवाद करें}} & lt; / button & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / प्रपत्र & gt; @ फ्रैंक वैन पफेलन टिप्पणी के रूप में मैंने इसके साथ काम किया:  
   

> App.controller ('ItemsUpdateController', फ़ंक्शन ($ दायरा, आइटम, $ राज्य) {आइटम। $ लोड ()। तब (फ़ंक्शन (डेटा) {$ scope.item = data; console.log ($ scope.item Url);}); $ scope.add = function () {items.update ($ scope.item) .then (function () {$ state.transitionTo ('आइटम');});}});

ऐसा इसलिए है क्योंकि आपके console.log ($ scope) Item.url); चलाता है, अभी तक फायरबेज से डेटा लोड नहीं किया गया है।

यह भी देखें और।

एंबेडेड फायरबेज / एंगलफ़ाइल से एक सूचना के लिए सुनता है, जब यह पता चलता है कि डेटा लोड हो गया है।

Comments

Popular posts from this blog

Active Directory Authenticated Proxy Server with Squid or CNTLM -

java - @PluginTarget(Node.class) not registering as neo4j plugin -

python - Calculate STD manually using Groupby Pandas DataFrame -