2014-03-29 48 views
0

自1.1.9版本以來,我一直在使用fabricjs,並創建了相當大的應用程序。現在我試圖使用新版本1.4.0,並發現有很多變化。有可能使用getActiveObject()來選擇單個對象,也可以選擇多個組對象,但現在它正在拋出錯誤的組對象,而我想獲得選定組的某些屬性(如strokeWidth),錯誤是「未捕獲TypeError:無法讀取屬性'strokeWidth'爲null「。但是,如果我使用getActiveGroup()作爲組對象,則不會出現錯誤。事實是,如果這是問題,我必須重新創建我的整個項目。是否有可能通過一些小修補解決我的情況?我在哪裏可以找到版本1.4.0的更改日誌?如何在新版本的fabricJS中解析getActiveObject()和getActiveGroup()?

回答

2

也許這可能是一個解決方案。 如果選擇了一個組,並且選擇了某個對象,getActiveObject()將返回null getAtctiveGroup()也會返回null。只需創建一個返回畫布上所選內容的函數。

function getSelection(){ 
    return canvas.getActiveObject() == null ? canvas.getActiveGroup() : canvas.getActiveObject() 
} 

如果您現在用代碼中的getSelection()調用替換所有getActiveObject(),則應解決您的問題。希望這可以幫助。

+0

我已經使用這種方式解決了這個問題,但我正在尋找更好的解決方案... – rafi