2016-10-21 7 views
1

私は現在、fabrics.jsを使用している名刺設計プラットフォームで作業しています。JSONに 'シェイプ'タイプのアイテムが含まれていると、Fabrics.js - loadFromJSON()が失敗する

私は、ブラウザのキャッシュにデザインデータを保存して復元することで、ユーザーが仕事を失うのを防ぐ自動保存機能を実装しようとしています。

私はloadFromJSON()Fabrics.jsキャンバスオブジェクトを使用して設計データを復元しました。

しかし、私は、JSONからshapeアイテムを復元しようとすると、次のエラーが発生します。

Uncaught TypeError: Cannot read property 'async' of undefined

続いてこれをテストするために私のバイオリンです。私はjavascriptに生のJSONを埋め込んでいます。

https://jsfiddle.net/asgriksen/mhf2kqzo/14/

感謝。

+0

リンクが見つかりません。投稿を編集して追加できますか? –

+0

申し訳ありませんが、私はフィドルリンクを追加しました。 –

+0

私はtoJSON()とloadFromJSON()の代わりにtoDatalessJSON()とloadFromDatalessJSON()を試しましたが、同じエラーが発生しました。 –

答えて

0

インデックス4のオブジェクトは、タイプshapeのオブジェクトです。そのタイプのファブリックオブジェクトはありません。私はそのオブジェクトのカスタムクラスを作成したと仮定します。

もしそうなら、それをファブリックに追加する必要があるので、jsonからそのオブジェクトを再構築しようとするときにそれを見つけることができます。あなたはちょうどこの

fabric.Shape= Shape; 
fabric.Shape.async = false; 

のように、ファブリックに追加する必要があり、あなたがにリンクデータがすでにshapeのタイプに設定されているのShapeという変数に新しいファブリックの形状クラスを持っていると仮定すると、今生地のことができるようになりデータをロードするときにクラスを見つけます。

これでも問題がある場合は、jsfiddleにもっと多くのコードを含めることをおすすめします。

関連する問題