Ich verwende "@angular/cli": "1.0.2"
und angular version 4
.Verwenden von jQuery mit Angular-CLI-Projekt
Aus irgendeinem Grund musste ich jquery-basierte Plugin für select area verwenden, weil ich nicht gleichwertige Plugin in eckigen finden konnte. Diese
ist, wie meine Komponente sieht aus wie
declare var $ : any;
//adding only necessary code
export class SelectComponent implements OnInit {
constructor(private _ngZone: NgZone) {}
public rowData: any = [];
ngOnInit() {
$('img#example').selectAreas({
minSize: [10, 10],
onChanged: this.debugQtyAreas,
width: 500,
areas: [{
x: 10,
y: 20,
width: 60,
height: 100,
}]
});
}
debugQtyAreas(event, id, areas) {
this.rowData = areas.map(function(obj) {
return {
left: obj.x,
top: obj.y,
id: obj.id
};
});
};
}
einige, wie auf diese Weise meine Jquery, was ich arbeiten bin in der Lage Bereiche auszuwählen, auf einem Bild.
Aber der Wert I drängen bin/Zuweisen Array rowData aktualisieren nicht in der Ansicht
Ich habe versucht, im Internet suchen und fanden diese Lösung für alle arbeiten, aber nicht für mich
this._ngZone.run(() => {
//running code inside this
})
Aber ich bin immer hier Fehler als
lesenKann nicht Eigentum ‚run‘ undefinierter
Die gleiche Sache mit rowData passiert, als ich versuchte, Daten zu schieben, anstatt sie aus der Karte zuweisen wie folgt
for(var i = 0; i < areas.length; i++){
this.rowData.push({
left: areas[i].x,
top: areas[i].y,
id: obj.id
});
}
Es sagt nicht Eigentum ‚Push‘ von undefined
Haben Sie 'NgZone' importiert? – theblindprophet
'importieren Sie {NgZone} aus '@ angular/core';' das? Ja, tat es. – Rakeschand
Zeigen Sie den vollständigen Code. Ich glaube, ich weiß warum. – theblindprophet