2017-02-14 10 views
6

प्रलेखन की मेरी व्याख्या के अनुसार, यदि मैं डिफ़ॉल्ट रूप से छिपा हुआ तत्व प्राप्त करना चाहता हूं, और जब कोई लिंक क्लिक किया गया है, तो निम्नलिखित कार्य करना चाहिए?कोणीय 2 - एनजीशो समकक्ष?

  1. /app/app.component.ts में

    newTrustFormVisible: false; 
    
  2. /app/app.component.html

    <a href="#" (click)="newTrustFormVisible = !newTrustFormVisible;">[Add New]</a> 
    
    <div ng-show="newTrustFormVisible" class="panel panel-default"> 
        ... 
    </div> 
    

हालांकि में, यह काम नहीं करता। यह भी कोई त्रुटि पैदा करता है। मैं क्या खो रहा हूँ?

+0

मैं भी 'की कोशिश की है newTrustFormVisible: बूलियन = झूठी;' जो मुझे लगता है कि वास्तव में सही वाक्य रचना है उस रेखा के लिए, हालांकि इसने आर में कोई फर्क नहीं पड़ता है esult। –

उत्तर

18

आपका कोणीय 1 निर्देशों का उपयोग कर रहा है। कोणीय 2 के लिए *ngIf उन घटकों के लिए उपयोग करें जिन्हें डोम में होने की आवश्यकता नहीं है जब वे छुपाए गए हैं या एचटीएमएल छिपी हुई संपत्ति [hidden] से बंधे हैं यदि आप हमेशा घटक को डीओएम में रखना चाहते हैं लेकिन सीएसएस के साथ छिपा हुआ है।

जैसे:

या

<div [hidden]="!newTrustFormVisible" class="panel panel-default"> 

Angular 1 to Angular 2 reference

*ngIf

+0

यह काम कर रहा है, धन्यवाद, लेकिन यह प्रलेखन में उदाहरण की तरह एनिमेटेड नहीं है (जो आप सही हैं, AngularJS 1.x के लिए प्रतीत होता है)? –

+0

एनिमेशन मछली के एक अलग केतली हैं https://angular.io/docs/ts/latest/guide/animations.html – shusson

+0

तो जहां एनजी-शो स्वचालित रूप से एनिमेट हो जाएगा, निकटतम कोणीय 2 समकक्ष ऐसा नहीं करते हैं। अजीब लगता है? मैंने ngClass पर स्विच किया है क्योंकि यह एनिमेट करना आसान प्रतीत होता है, हालांकि मुझे काम करने के लिए एनीमेशन नहीं मिला है, फिर भी। मैं खेलना जारी रखूंगा। –