Winkel-2 ich weiß nicht wie das löschen einer Zeile ein Objekt geschoben
Lassen Sie mich zuerst klar sein über mein problem/Frage:
Ersten war es so: https://www.dropbox.com/s/92z2oe7f4w5x2b5/conditions.jpg?dl=0 Hier löscht die zuletzt erstellte Objekt, in meinem Fall Bedingungen.
aber ich möchte die löschen jede Bedingung separat wie diese finden Sie in der roten box neben jeder Zeile: https://www.dropbox.com/s/ptwq6sk6da4p21k/new.jpg?dl=0
import {Component, OnInit, DynamicComponentLoader, Input} from 'angular2/core';
import {Condition} from './condition';
import {DateCondition} from './datecondition.component';
import {StringCondition} from './stringcondition.component';
import {SelectCondition} from './selectcondition.component';
import {ConditionDetailComponent} from './conditiondetail.component';
import {ConditionService} from './condition.service'
@Component({
selector: 'condition-builder',
templateUrl: 'app/conditionbuilder.component.html',
directives: [ConditionDetailComponent],
})
export class ConditionBuilderComponent implements OnInit {
conditions: Condition[] = [];
catalog: Condition[] = [];
constructor(public _conditionService: ConditionService) { }
getConditions() {
this._conditionService.getConditions().then(conditions => this.catalog = conditions);
}
ngOnInit() {
this.getConditions();
}
onChange(conditionsIndex, selectedCondition:string): void {
this.conditions[conditionsIndex] = this.catalog.find(condition => condition.name == selectedCondition);
}
newCondition() {
this.conditions.push(this.catalog[0]);
}
deleteCondition() {
this.conditions.pop();
}
}
In den obigen code, ich werde importieren, die getConditions mit dem Ziel, die Bedingungen in meinem Fall. Hat jemand wissen, wie ich dies tun und was ist der beste Weg, um dieses Problem?
Hier möchte ich
import {Component, OnInit, Input, DynamicComponentLoader, ElementRef} from 'angular2/core';
import {Condition} from './condition';
import {DateCondition} from './datecondition.component';
import {StringCondition} from './stringcondition.component';
import {SelectCondition} from './selectcondition.component';
import {ConditionBuilderComponent} from "./conditionbuilder.component";
@Component({
selector: 'condition-detail',
template: '<div #child></div>'
+ '<a class="btn btn-danger" (click)="deleteCondition()"><i class="glyphicon glyphicon-minus"></i></a>'
})
export class ConditionDetailComponent implements OnInit {
@Input() condition: Condition;
dcl:DynamicComponentLoader;
elementRef:ElementRef;
constructor(dcl: DynamicComponentLoader, elementRef: ElementRef) {
this.dcl = dcl;
this.elementRef = elementRef;
}
ngOnInit() {
this.dcl.loadIntoLocation(this.condition, this.elementRef, 'child');
}
deleteCondition() {
HOW CAN I DELETE THE CONDITION ROW HERE?
}
Wie dieser ist es, den code zu bauen, ill hoffe, es ist klar für Sie, um mir zu helfen. Wie funktioniert die deleteCondition Methode wissen, welche Zeile er muss deleten und wie lösche ich es aus dem array in den code über die Seite?
Krank hoffe jemand kann mir helfen!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Liste der sub-Komponente, und entfernen Sie das aktuelle element aus. Auf diese Weise kann die zugehörige Komponente in der Schleife entfernt werden.
Hauptbestandteil:
Untergeordnete Komponente:
Sehen diese plunkr: https://plnkr.co/edit/o5O0Rr?p=preview.
EventEmitter
zum Benachrichtigen eines Elternteils über die Löschung. angular.io/docs/ts/latest/cookbook/component-communication.html