2017-02-24 18 views
11

मेरे पास एक घटक है जिसे मैं इस तरह के प्रवेश पर एनिमेट कर सकता हूं, एंट्री एनीमेशन ठीक काम करता है। हैंडल रिमूवल विधि निष्पादित हो जाती है और एक इवेंट एमिटर घटकों की सूची (अवलोकनों का उपयोग करके) घटक को फ़िल्टर करता है। लेकिन: छुट्टी एनीमेशन नहीं चलता है:छुट्टी और अवलोकन फिल्टर पर कोणीय 2 रन एनीमेशन

@Component({ 
     animations: [ 
      trigger(
      'enterAnimation', [ 
       transition(':enter', [ 
       style({transform: 'translateY(100%)', opacity: 0}), 
       animate('500ms', style({transform: 'translateY(0)', opacity: 1})) 
       ]), 
       transition(':leave', [ 
       style({transform: 'translateY(0)', opacity: 1}), 
       animate('500ms', style({transform: 'translateY(100%)', opacity: 0})) 
       ]) 
      ] 
      ) 
     ], 
     template: ` 
      <div class="mb1 card text-xs-center rounded" [@enterAnimation]="show"> 

...

export class ContentPropertyComponent { 

    show: boolean = false; 

    constructor(private router: Router) { 
     this.show = true; 
    } 

    handleRemoval(contentProperty: PropertyModel) { 
     this.show = false; 
     this.delete.emit(this.contentProperty); 
    } 
} 

किसी भी मदद की सराहना की।

+1

आप इसे समझने के लिए कुछ दे सकते हैं? यह समझ में नहीं आता है। हमें यह देखने की ज़रूरत है कि आप उत्सर्जक का उपयोग कैसे करते हैं और दृश्य के पीछे क्या होता है? – micronyks

+0

क्या आप एक plnkr या अन्य [mcve] जोड़ सकते हैं (https://stackoverflow.com/help/mcve) –

+0

सहायता के लिए धन्यवाद - मैंने इस मुद्दे को हल करने का अंत किया - समस्या यह थी कि जिस तरह से मैं सामग्री को हटा रहा था प्रॉपर्टी ऑब्जेक्ट कंटेनर – rhysclay

उत्तर

1

कोणीय इसलिए यदि आप किसी पुराने संस्करण का उपयोग कर रहे है (जैसा कि मुझे लगता है), तो आप void => * और * => void संक्रमण परिभाषाओं का उपयोग करना चाहिए, संस्करण 2.1.0 में :enter और :leave शॉर्टकट की शुरुआत की। या, वैकल्पिक रूप से, अपने कोणीय वितरण को 2.1.0+ पर अपग्रेड करें।

अपने कोड बदलने तदनुसार कोणीय 2.0+

animations: [ 
    trigger("enterAnimation", [ 
     transition('void => *', [ 
      style({transform: 'translateY(100%)', opacity: 0}), 
      animate('500ms', style({transform: 'translateY(0)', opacity: 1})) 
     ]), 
     transition('* => void', [ 
      style({transform: 'translateY(0)', opacity: 1}), 
      animate('500ms', style({transform: 'translateY(100%)', opacity: 0})) 
     ]) 
    ]) 
    ] 

Plunker में काम करता है: https://plnkr.co/edit/xW38PWgD3SQyhRv09IUW?p=preview

+0

स्पष्ट रूप से ओपी इन आवश्यकताओं को पूरा करता है या 'एंटर' संक्रमण काम नहीं करेगा। हो सकता है कि आपका डेमो काम करता है क्योंकि यह अवलोकन को शामिल नहीं करता है। – isherwood

संबंधित मुद्दे