Próbuję zbudować aplikację, która edytuje proste grafiki na ekranie fabricjs jest biblioteka płótno używam i angularjs stanowi ramy MVW używam.Integracja Fabricjs i angularjs
Teraz wiązania od DOM do tkaniny działają dobrze (klikam element div i odpowiadający obiekt na płótnie zostanie wybrany), ale nie na odwrót. Po kliknięciu obiektu na płótnie i wybraniu odpowiedniego modelu DOM nie jest aktualizowany. Czytałem here, że powinienem używać $scope.$apply();
, ale nie jestem pewien, gdzie to umieścić.
Jak dokonać aktualizacji tkaniny $scope
stan?
Możesz zobaczyć the code here, kliknij przycisk Add Rect
, aby dodać elementy do płótna, i zauważ, że po kliknięciu nazwy elementu po prawej stronie zostanie wybrane na płótnie, ale jeśli wybierzesz go bezpośrednio na płótnie, to przycisk nie jest podświetlony. Kod
: http://plnkr.co/edit/lMogPGjJOXx9HLAdiYqB
Czy umieścisz skrzypce lub coś, co pokaże nam kod. Zwykle używasz $ scope.apply, gdy jesteś w kodzie spoza kontekstu angularjs i $ scope. $ Apply to sposób na poinformowanie AngularJS o uruchomieniu wiązań i obserwatorów. – rajasaur
@rajasaur dzięki za odpowiedź. Zmieniłem to pytanie i dodałem przykład na Plunkr. – MeLight