2017-02-02 26 views
6

मेरे पास एक डेटा संचालित कोणीय अनुप्रयोग है। मेरे पास टॉगल घटक है जो मैं एक टॉगल राज्य में जाता हूं। मेरी समस्या यह है कि दो तरीकों से डेटा बाध्यकारी काम नहीं कर रहा है जब तक कि मैं किसी ऑब्जेक्ट के रूप में टॉगल बूलियन में पास नहीं करता। क्या यह इवेंटइमीटर का उपयोग किए बिना पर काम करने या ऑब्जेक्ट के रूप में चर को पार करने के लिए कोई तरीका है। यह एक पुन: प्रयोज्य घटक होना है और एप्लिकेशन भारी डेटा संचालित होता है ताकि किसी ऑब्जेक्ट के रूप में किसी ऑब्जेक्ट में मूल्य को पास न किया जा सके। मेरे कोड है ....कोणीय 2 घटक @ इनपुट दो तरह बाध्यकारी

toggle.html

<input type="checkbox" [(ngModel)]="toggled" [id]="toggleId" name="check"/> 

toggle.component.ts

import { Component, Input, EventEmitter, Output } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'toggle-switch', 
    templateUrl: 'toggle-switch.component.html', 
    styleUrls: ['toggle-switch.component.css'] 
}) 

export class ToggleSwitchComponent { 

    @Input() toggleId: string; 
    @Input() toggled: boolean; 

} 

parent.component.html

<toggle-switch toggleId="toggle-1" [(toggled)]="nongenericObject.toggled"></toggle-switch> 
+0

http://stackoverflow.com/documentation/angular2/8943/angular2-input-output#t=201702021650455443161 –

उत्तर

15

[(toggled)]="..." आप काम करने के लिए

की आवश्यकता है

भी देखें Two-way binding

+0

वह एक EventEmitter का उपयोग कर या चर गुजर बिना कि अत्यंत कष्ट निराश होना "जा रहा है एक वस्तु के रूप में "पूरा नहीं किया जा सकता है। ऐसा लगता है कि उन्होंने मूल वाक्यविन्यास नहीं पढ़ा, ओह, हे, सिंटैक्स गाइड का एक लिंक। – silentsod

+0

उन्होंने 'EventEmitter' भी आयात किया। यह उतना बुरा नहीं हो सकता जितना आप उम्मीद करते हैं ;-) –

+0

यह वास्तव में मेरे लिए काम करता है। मैंने मूल रूप से यह इवेंट उत्सर्जक का उपयोग करने के लिए स्थापित किया था जो मूल घटक में किसी फ़ंक्शन से जुड़ा हुआ था। यह बहुत पुन: प्रयोज्य नहीं था इसलिए मैंने सवाल पूछा कि क्या ऐसा करने का कोई तरीका है या नहीं। किसी कारण से यह उत्तर माता-पिता toggled चर –

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