javascript - पॉलिमर: फायरबेस डीबी फायरबसे-एलिमेंट का उपयोग करके अपडेट नहीं किया जा रहा है



firebase firebase-database (1)

मेरी प्रारंभिक धारणा (जो पूरी तरह से गलत थी) के अनुसार , मैंने सोचा था कि व्यवहार में firebase-document तत्व के साथ कुछ था, वास्तव में व्यवहार पॉलिमर की डेटा बाइंडिंग सिस्टम के अंदर अच्छी तरह से परिभाषित किया गया है।

समाधान 1: संपूर्ण संपत्ति को बदलें

this.stats = {count: 2};

समाधान 2: सिस्टम को एक पाथ बाइंडिंग अपडेट करने दें।

this.stats.count = 2;
this.notifyPath('stats.count', this.stats.count);

समाधान 3: बहुलक को आपके लिए बाध्यकारी सामान को संभाल दें।

this.set('stats.count', 2);

डॉक्स से सीधे:

इस प्रणाली को "बस काम करता है" उस सीमा तक होता है जो उप-गुणों को ऑब्जेक्ट करने के लिए बदलता है, जिसके परिणामस्वरूप कस्टम ऑस्टिलीट संपत्ति को सूचित करने के लिए बाध्य किया जा रहा है। हालांकि, कभी-कभी अनिवार्य कोड को ऑब्जेक्ट की उप-प्रॉपर्टी को सीधे रूपांतरित करने की आवश्यकता होती है। जैसा कि हम अधिक परिष्कृत अवलोकन तंत्र जैसे कि ऑब्जेक्ट। सेबर्स या गंदे-जांच से बचते हैं, सबसे सामान्य उपयोग के मामलों के लिए सर्वोत्तम स्टार्टअप और रनटाइम प्रदर्शन क्रॉस-प्लेटफॉर्म हासिल करने के लिए, ऑब्जेक्ट की उप गुणों को बदलकर सीधे उपयोगकर्ता से सहयोग की आवश्यकता होती है।

विशेष रूप से, पॉलिमर दो तरीके प्रदान करता है जो ऐसे परिवर्तनों को सिस्टम को अधिसूचित करने की अनुमति देता है: नोटिफाइड (पथ, मान) और सेट (पथ, मान), जहां पथ पथ (होस्ट तत्व के सापेक्ष) की पहचान करता है।

इसके अलावा एक पॉलीकास्ट भी है जहां रोब डोडसन इस सामान को बहुत विस्तार से बताता है।

https://ffff65535.com

मैं पॉलिमर 1.0 के साथ एक फायरबेज कनेक्शन सेटअप करने की कोशिश कर रहा हूं:

<link rel="import" href="/bower/firebase-element/firebase-document.html">

  ...
  <firebase-document id='fstats'
    location="https://polymer-redux.firebaseio.com/stats"
    log="true"
    data="{{stats}}"></firebase-document>
   ...
   this.properties = {
       stats: {
          type: Object,
          observer: '_handleFirebaseStats',
          notify: true
       }
       ...
 _handleFirebaseStats(stats) {
     ...
 }

यहां बताया गया है कि मेरा फ़ायरबेस डीबी कैसा दिखता है:

{
   ...
   stats: { count: 0 }
}

अब, _handleFirebaseStats अंदर मुझे { count: 0 } प्राप्त होता है, वह भाग महान काम करता है लेकिन मैं भी डेटा को फायरबेज पर वापस सहेजना चाहूंगा। मैंने कोशिश की:

this.$.fstats.set({count: 2});
this.$.fstats.set({stats: {count: 2}});
this.stats.count = 2;
// etc

वैसे भी, जो भी मैं अपने बहुलक ऐप में कोशिश करता हूं, FireBase कभी भी अपडेट नहीं किया जाता है। कैसे firebase अद्यतन करने के लिए पर कोई सुझाव?





polymer-1.0