我正在構建一個使用多個SVG元素的Backbone.js應用程序。在Backbone.js/SVG web應用程序中管理佈局?
圖像下方顯示的基本設置 - 一個變量「小工具」應該填補大部分屏幕的。
每個窗口小部件的觀點是一個骨幹觀點,即(當它具有安裝與SVG其自己的DIV容器:SVG元素)實例化與SVG子視圖:ģ元素。
我有2個問題:
1)什麼是控制外部佈局的好方法嗎?
I.e.用戶應該能夠添加和移除水平流動的小部件(div),這應該反映在URL狀態中。 (每個對應的WidgetModel序列化)。
2)什麼是控制內部佈局的好方法嗎?
I.e.當瀏覽器窗口調整大小時,內部SVG子視圖如何獲得它們的寬度/高度。 我走上這之前是有一個(窗口).resize處理的方法,可以找出部件尺寸,並通過模型所有視圖和子視圖通過佈局:
$(window).resize(function() {
var activeWidgets = [widgetModel1, widgetModel2 ...]
each activeWidgets
widgetModel.set({width: widgetWidth, height: widgetHeight})
});
但也許這是不必要的破解?另一種方法是每個WidgetView都有自己的調整大小處理程序,但是我必須將寬度/高度傳遞給需要顯式值的子視圖?
謝謝:)