कृपया शीर्षक से निर्णय नापसंद न करें, पहले पोस्ट पढ़ें।आयनिक 2/कोणीय 2 - मैं अपने घटक में टाइपस्क्रिप्ट के साथ HTML तत्व कैसे जोड़ूं?
मैंने अभी सीखने की टाइपस्क्रिप्ट और कोणीय 2 आयनिक 2 ढांचे के साथ काम करना शुरू कर दिया है।
मैं HTML तत्व typscript चर "newItem" संदर्भित जोड़ रहा, इस तरह:
<ion-content>
<ion-list inset>
<ion-item *ngFor="let item of todos" (click)="edit(item)">
{{item}}
</ion-item>
<ion-item>test</ion-item>
<div [innerHTML]=newItem></div>
</ion-list>
</ion-content>
घटक मैं एक समारोह addTodo है() के लिए मेरे टाइपप्रति वर्ग है, जो "के लिए HTML सेट में newItem "जब pluss/दाएं कोने में आइकन जोड़ने दबाया जाता है:
addTodo(){
this.newItem = "<ion-item>test</ion-item>";
}
किसी कारण से" आयन आइटम "टैग संकलन पर ध्यान नहीं दिया जाता और यह केवल सम्मिलित करता है" div तत्व के लिए परीक्षण "।
appliction इस तरह दिखेगा:
घटक वर्ग:
तो मैं देखने के लिए इस जोड़ने की कोशिश की:
<form *ngIf="editedItem">
<ion-item><input [(ngModel)]="newItem" name="newItem">
<ion-buttons end>
<button ion-button color="danger" (click)="btnCancel()">Cancel</button>
<button ion-button color="secondary" (click)="btnAdd()">Add</button>
</ion-buttons>
</ion-item>
</form>
लेकिन अब जब मैं क्लिक करता हूं रद्द या जोड़ें, पृष्ठ को पुनः लोड करने की आवश्यकता है। मुझे पता है कि मैं [(ngModel)] = "newItem" के साथ कुछ गलत कर रहा हूं, क्या मुझे कोणीय चर को मॉडल पर पारित करने का प्रयास करना चाहिए या ऐसा करने का एक बेहतर तरीका है।
संपादित करें: वैरिएबल को (क्लिक) फ़ंक्शन पर पास किया गया है, जैसा कि नीचे @ जोएरीशॉबी के उत्तर में देखा गया है।
मॉडल में:
export class TodosPage {
newItem = "";
todos: string[] = this.getTodos();
editedItem: boolean = false;
constructor(public navCtrl: NavController) {
}
addTodo(){
this.editedItem = true;
}
btnAdd(){
this.todos.push(this.newItem);
this.editedItem = false;
}
btnCancel(){
this.editedItem = false;
}
getTodos(): string[]{
return ["item 1", "item 2"];
}
}
तुम मुझे अपना घटक वर्ग दे सकते हैं? आपको वास्तव में 'todos' सरणी में एक नया आइटम ऑब्जेक्ट धक्का देना होगा। एचटीएमएल – JoeriShoeby
नहीं मैंने पोस्ट में घटक वर्ग जोड़ा है। मैंने सोचा कि मैं सिर्फ सरणी को अपडेट कर सकता हूं, लेकिन मैं चाहता हूं कि नया आइटम इनपुट ले, और बचत और रद्द करने के लिए बटन हों। मैंने सोचा कि शायद मैं addTodo() सामग्री के लिए एक नया घटक बना सकता हूं। लेकिन मैं यह नहीं समझ सकता कि फ़ंक्शन के साथ एक घटक को गतिशील रूप से कैसे जोड़ा जाए। –
मुझे एक घंटा दें, तो मेरे पास – JoeriShoeby