Bild beschneiden mit AngularJS
Ich soll der Benutzer ein Bild zuzuschneiden, ich fand das JQuery-plugin - http://deepliquid.com/content/Jcrop.html
Ich habe versucht, es mit Angular-ui der Jquery-passthrough-option, indem die ui-jq=Jcrop
Richtlinie zur <img>
Das problem ist, dass Wenn ich mit ng-src dynamisch ändern, das Bild, das er nicht arbeitet und nichts zu sehen ist. Wenn ich es ändern zu src und legen Sie eine statische url kann ich das Bild sehen, und Jcrop.
wie kann ich das beheben ?
auch, wie kann ich hören Jcrop die Rückrufe zu wissen, was ist die Auswahl des Benutzers ?
gibt es eine bessere /einfachere Möglichkeit zum hinzufügen, Bild beschneiden, Funktionalität zu AngularJS ?
- BTW, Angular UI der jQuery-Passthru-Richtlinie wurde verschoben, um die github.com/angular-ui/ui-utils/tree/master/modules/jq
- Ich aktualisiert die plnkr was zeigt das zugeschnittene Bild hier:plnkr.co/Bearbeiten/Iizykd7UORy3po1h5mfm?p=Album Vorhören. und schauen Sie bei der post für weitere details zur Verwendung der Richtlinie für Bild zuschneiden: coding-Fragen.blogspot.in/2013/10/...
- Ich denke, es gibt einen besseren Weg, um hinzuzufügen, Bild beschneiden, Funktionalität, weil die Winkel-Richtlinie für Jcrop ist nicht up-to-date. Ich schrieb einen blog-post über den Vergleich von Bild zuschneiden AngularJS-Direktiven: lingohub.com/blog/2016/03/angularjs-directives-image-cropping
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist meine Lösung:
Ich geschrieben habe, eine Richtlinie erstellen img-element und gelten plugin drauf. Bei der src geändert wird, wird dieser img entfernt wird und Inhalte, die erstellt wurde, per plugin auch zerstört und dann neu erstellt, neue img mit neuen src-und wieder angewendet plugin drauf.
Ebenfalls vorhanden 'aktiviert' callback zu können, koordiniert ausgewählt wurden (eingewickelt in $gelten, damit Sie ändern können, Ihre scope-Werte in es).
Überprüfen meine Lösung bei Plunker
Error: $digest already in progress
auch wenn ich versuche, wickeln Sie diescope.$apply
- Anweisung mitif (!scope.$$phase)
wie kann ich dieses Problem beheben ?$watch('url',...)
und es tun, - Validierung und-nach erfolgreicher Validierung-update$scope.imageUrl
und bing Richtlinie zuimageUrl
(nichturl
)Habe ich gebaut, eine demo mit AngularJS und Jcrop hier:
Demo: https://coolaj86.github.com/angular-image-crop
Auf Github: https://github.com/coolaj86/angular-image-crop
Können Sie nutzen
ui-event
erstellen einer event-definition-Objekt mit dem Schlüssel, den event-Namen und den Werten, die Rückrufe. Oder Sie können einfach vorbei kommen, diese Ereignisse als Möglichkeiten zu Jcrop (laut der Dokumentation)Schließlich gibt es ein neues update kommen
ui-jq
können Sie hinzufügenui-refresh
welches ein Ausdruck ist, um beobachtet werden zu re-trigger-plugin.Theoretisch sollten Sie in der Lage sein zu tun
Hinweis: diese einfach erneut feuert das passthrough wieder, und bedeutet nicht automatisch, das das problem lösen wird oder dass das plugin sich richtig Verhalten, wenn re-initialisiert
Wir arbeiten immer noch auf einem guten Weg zu sein, um Sie auszulösen, verschiedene Ereignisse zu verschiedenen Zeiten.
<div>
nach<img>
. Also einfach neu brennen-plugin wieder nicht aktualisieren oder entfernen-hinzufügen diese dynamischen Inhalte. Ich persönlich weiß nicht, wie tracking von dem, was plugin Hinzugefügt werden könnte, gemacht für jede generische plugin...