2016-08-09 15 views
14

कोणीय 2 ngModel निर्देश उपयोग करने के लिए की तरहकोणीय 2 ngModel निर्देश विस्तार observables

<input [ngModel]="myVar" (ngModelChange)="myFunc($event)" />

चर और कार्यों के बजाय

चर और कार्यों के साथ काम करता है, मैं BehaviorSubjects बजाय

<input [ngModel]="mySubject | async" (ngModelChange)="mySubject.next($event)" />

उपयोग करना चाहते हैं

क्या मेरे टेम्पलेट्स में पुनरावृत्ति को कम करने के लिए ngModel का विस्तार करने या किसी प्रकार का मैक्रो का उपयोग करने का कोई सुरक्षित तरीका है?

<input [myNewNgModel]="mySubject" />

+1

ध्वनि आप देख रहे हैं की तरह https की तरह कुछ के लिए: // GitHub। com/कोणीय/कोणीय/मुद्दों/4062। मुझे यकीन है कि यह Angular2 पर आएगा लेकिन रिलीज के बाद ही। –

+0

@ गुंटर ज़ोचबाउर यह जानकर अच्छा लगा कि अन्य लोग आरएक्स सब कुछ करने की कोशिश कर रहे हैं। मुख्य अंतर यह है कि मैं अवलोकन के साथ ngModel का विस्तार/पुन: उपयोग करने की कोशिश कर रहा हूं, जबकि प्रस्ताव अवलोकन करने के लिए बाध्यकारी घटनाओं पर ध्यान केंद्रित कर रहा है। – nwarp

+0

क्या यह ऐसा कुछ है जिसे अंततः हल किया गया था? मुझे एक प्रतिक्रिया लिखने में प्रसन्नता हो रही है लेकिन वर्तमान में मैं यह समझने के लिए संघर्ष कर रहा हूं कि क्या आप वास्तव में इन इनपुटों को किसी फ़ॉर्म के हिस्से के रूप में उपयोग करना चाहते हैं? यदि हां, तो क्या आपने प्रपत्र को सुनने के बारे में सोचा है? यदि नहीं, तो क्या आप कृपया कुछ पृष्ठभूमि दे सकते हैं कि आप अपने व्यवहार का उपयोग कैसे कर रहे हैं? इसके लिए निश्चित रूप से मामलों का उपयोग किया जाता है, लेकिन जब आरएक्सजेएस के लिए नया होता है, तो हम विषयों को थोड़ा अधिक उपयोग करते हैं। –

उत्तर

0

एक छोटी सी पार्टी के लिए देर हो चुकी है, लेकिन मेरा मानना ​​है कि आप इस में रुचि रखते थे:

@Component({ 
 
    selector: 'app-home', 
 
    templateUrl: './home.component.html', 
 
    styleUrls: ['./home.component.less'] 
 
}) 
 
export class HomeComponent implements OnInit { 
 
    model: Observable<number[]>; 
 

 
    ngOnInit() { 
 
    this.model = this.get(); 
 
    } 
 

 
    get(): Observable<number[]> { 
 
    return Observable.from([[1, 2, 3]]); 
 
    } 
 
} 
 

 
@Component({ 
 
    selector: 'app-child', 
 
    templateUrl: './child.component.html', 
 
    styleUrls: ['./child.component.css'] 
 
}) 
 
export class ChildComponent implements OnInit { 
 
    @Input() numbers; 
 
    constructor() { } 
 

 
    ngOnInit() { 
 
    } 
 

 
}
<app-child [numbers]="(model | async)"></app-child> 
 

 
<!-- child component --> 
 
<h1 *ngFor="let i of numbers">{{i}}</h1>

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