latest - angular2 शैली गाइड-डॉलर चिह्न के साथ संपत्ति?



angular js latest version (3)

$ नामकरण प्रतिमान आंद्रे साल्ट्ज़ के साथ उत्पन्न हुआ और उन सभी चर नामों का बहुवचन करने का सुझाव देता है जिनमें वेधशालाएँ या धाराएँ होती हैं।

getAll(): Observable<Zone[]>{
    let zone$ = this.http
      .get(`${this.baseUrl}/zones`, {headers: this.getHeaders()})
      .map(mapZone);
      return zone$;
  }

एक अन्य दृष्टिकोण है चर नामों का बहुवचन करना जिसमें वेधशालाएं शामिल हैं या एक यूनिकोड वर्ण के साथ धाराएं जो शब्द के अंतिम अक्षर से मेल खाती हैं। यह उन शब्दों के साथ समस्या को संबोधित करता है जो "s" के साथ बहुवचन नहीं हैं।

mouse$ vs mic€

इनमें से किसी का भी नामकरण सम्मेलन आधिकारिक एंगुलर शैली गाइड में नहीं है। एक या दूसरे (या कोई नहीं) का उपयोग पूरी तरह से व्यक्तिगत प्राथमिकता पर निर्भर है।

https://src-bin.com

कोणीय 2 कोड उदाहरण को देखते हुए, हम $ साइन के साथ कुछ सार्वजनिक गुण देखते हैं:

  <....>
  private missionAnnouncedSource = new Subject<string>();
  private missionConfirmedSource = new Subject<string>();
  // Observable string streams
  missionAnnounced$ = this.missionAnnouncedSource.asObservable();
  missionConfirmed$ = this.missionConfirmedSource.asObservable();
  <....>

क्या कोई समझा सकता है:

  • $ का उपयोग क्यों किया जाता है (इस संकेतन के पीछे क्या कारण है? हमेशा सार्वजनिक संपत्तियों के लिए इसका उपयोग करें)
  • सार्वजनिक संपत्तियों का उपयोग किया जाता है, लेकिन तरीकों का नहीं (उदाहरण के लिए मिशनअन्युमिशन (), MissionConfirmations ()) - फिर, क्या यह ng2 ऐप के लिए एक सम्मेलन है?

क्या ऐसा नहीं लगता कि आधिकारिक शैली गाइड में इस बारे में कुछ है?


Answer #1

मैंने शैली गाइड में इस $ को नहीं देखा है, लेकिन मैंने देखा कि इसे सार्वजनिक संपत्तियों के लिए अक्सर इस्तेमाल किया जा रहा है जो कि वे पर्यवेक्षकों को संदर्भित करते हैं जिन्हें सदस्यता दी जा सकती है।


Answer #2

अपडेट : https://angular.io/guide/rx-library#naming-conventions-for-observables

क्योंकि कोणीय अनुप्रयोगों को ज्यादातर टाइपस्क्रिप्ट में लिखा जाता है, आप आमतौर पर तब जानते होंगे जब एक चर एक अवलोकन योग्य होता है। यद्यपि कोणीय ढांचे में वेधशालाओं के लिए एक नामकरण सम्मेलन लागू नहीं होता है, आप अक्सर वेधशालाओं को एक अनुगामी "$" चिन्ह के साथ देखेंगे।

यह उपयोगी हो सकता है जब कोड के माध्यम से स्कैनिंग और अवलोकन योग्य मूल्यों की तलाश हो। इसके अलावा, यदि आप एक संपत्ति को एक अवलोकन से सबसे हाल के मूल्य को संग्रहीत करना चाहते हैं, तो यह "$" के साथ या बिना एक ही नाम का उपयोग करने के लिए सुविधाजनक हो सकता है।

मूल :

मैंने देखा कि आधिकारिक नायक ट्यूटोरियल पढ़ते समय चर $ साथ समाप्त होते हैं:

<div id="search-component">
  <h4>Hero Search</h4>

  <input #searchBox id="search-box" (keyup)="search(searchBox.value)" />

  <ul class="search-result">
    <li *ngFor="let hero of heroes$ | async" >
      <a routerLink="/detail/{{hero.id}}">
        {{hero.name}}
      </a>
    </li>
  </ul>
</div>

बारीकी से देखें और आप देखेंगे कि * ngFor एक सूची पर आधारित है, जिसे heroes$ कहा जाता heroes$ , हीरो नहीं

<li *ngFor="let hero of heroes$ | async" >

$ एक कन्वेंशन है जो इंगित करता है कि हीरो $ एक ऑब्जर्वेबल है, न कि एक सरणी।

अधिकांश मामले यह हैं कि हम घटक में उन अवलोकनीय चर की सदस्यता नहीं लेते हैं। हम आमतौर पर AsyncPipe का उपयोग करके स्वचालित रूप से अवलोकनीय चर की सदस्यता लेते हैं

मुझे यह स्टाइल गाइड में नहीं मिला है क्योंकि Angular5.1 ने कल (6 दिसंबर, 2017) को जारी किया है।





angular