Пожалуйста, не против, судя по названию, сначала прочитайте сообщение.Ионный 2/угловой 2 - Как добавить элементы HTML с помощью Stylecript к моему компоненту?
Я только что начал изучать машинописные тексты и угловые 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.
смартфона как будет выглядеть следующим образом:
Компонент класса:
Так что я попытался добавить это к виду:
<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", должен ли я попытаться передать угловую переменную на модель или есть лучший способ сделать это.
Редактировать: Передача переменной на функцию (щелчок), как показано в ответе @JoeriShoeby ниже.
В модели:
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"];
}
}
Можете ли вы предоставить мне свой класс компонента? Вам действительно нужно нажать новый объект item в массив todos. Не html – JoeriShoeby
Я добавил класс компонента к сообщению. Я думал, что могу просто обновить массив, но я хочу, чтобы новый элемент принимал ввод и имел кнопки для сохранения и отмены. Я подумал, может быть, я смогу создать новый компонент для контента addTodo(). Но я не могу понять, как динамически добавлять компонент с помощью функции. –
Дайте мне час, затем у меня есть компьютер, чтобы закодировать его для вас, чтобы объяснить это – JoeriShoeby