मैं संतुष्ट मॉडल मॉडल से एक ईवेंट उत्सर्जित करने में सक्षम हूं लेकिन मैं डेटा '@ इनपुट (' contenteditableModel ') मॉडल प्राप्त करने में सक्षम नहीं हूं: कोई भी; मैं अपरिभाषित हो रहा हूँ।कोणीय 2: ContentitableModel: 2-तरफा डेटा बाध्यकारी
contenteditableModelChange ठीक काम करता है, लेकिन जैसा कि मैंने कैसे उपयोग करने के लिए यह पता लगाने में सक्षम नहीं था नहीं contenteditableModel
तरह से मैं अपने डेटा को अद्यतन this.elementRef.nativeElement.textContent अपडेट करके है [innerHTML]
यह निर्देश on this guy code: पर आधारित है लेकिन कोणीय 2.0 के लिए पुनर्निर्मित किया गया है।
export class pageContent{
<p
contenteditable="true"
(contenteditableModelChange)="runthis($event)"
[contenteditableModel]="text"
></p>
public text:any = 'ddddd';
constructor(){}
runthis(ev){
this.text = ev
console.log('updated done ev', ev)
console.log('text now should be ', this.text)
}
}
import {Directive, ElementRef, Input, Output, EventEmitter, OnChanges} from "@angular/core";
@Directive({
selector: '[contenteditableModel]',
host: {
'(blur)': 'onEdit()',
'(keyup)': 'onEdit()'
}
})
export class ContentEditableDirective implements OnChanges {
@Input('contenteditableModel') model: any;
@Output('contenteditableModelChange') update = new EventEmitter();
constructor(
private elementRef: ElementRef
) {
console.log('ContentEditableDirective.constructor');
}
ngOnChanges(changes) {
console.log('ContentEditableDirective.ngOnChanges');
console.log(changes);
if (changes.model.isFirstChange())
this.refreshView();
}
onEdit() {
console.log('ContentEditableDirective.onEdit');
var value = this.elementRef.nativeElement.innerText
this.update.emit(value)
}
private refreshView() {
console.log('ContentEditableDirective.refreshView');
this.elementRef.nativeElement.textContent = this.model
}
}
वैसे अगर कोई अपने खुद के बराबर संपत्ति और घटना textContent संपत्ति (मूल्य के बजाय) और इनपुट घटना का उपयोग कर databinding स्थापित करने के लिए सुझाव देते हैं, मैं पहले से ही यह इस plunker पर की कोशिश की और वहाँ एक मुद्दा है कि आईई, फ़ायरफ़ॉक्स और सफारी पर कर्सर को 0
http://plnkr.co/edit/KCeKTPu8dJI0O1nVMPfb?p=preview
आप इसके लिए ckeditor का उपयोग क्यों नहीं करते? – Arjun
अगर मैं आपको सही ढंग से समझता हूं कि कोई व्यक्ति 'टेक्स्ट' बदलता है तो उसे पैराग्राफ में अपडेट नहीं किया जा रहा है? – Skeptor
अगर किसी ने हां से भीतरी HTML को अपडेट किया है तो यह –