該框架已設置,以便您可以同時加載多個視圖(並可能與之相關聯的控制器),但是我無法編寫正確的控制器代碼來「知道」所有內容。
的鈦文檔描述了「$」使用,像這樣:
具有在視圖中的id屬性的所有UI元素被自動定義並可以作爲由控制器中的特殊變量$前綴的屬性。 $是對控制器的引用。 ...要訪問外部控制器和視圖,分別使用Alloy.createController和Controller.getView方法。
鈦文檔還說,通常視圖和控制器成對工作。
假設我有一個視圖定義包含一個'後退'按鈕,另一個視圖是一個刷新按鈕。重點是這些視圖包含相關的控制器,無論我處於什麼上下文環境都需要工作。後退按鈕需要始終關閉頂層窗口,刷新按鈕需要重新加載主視圖的數據,無論主視圖「我正在看。
因此,我創建一個主視圖,並將這兩個視圖加載到它。現在我有3個視圖控制器在一個上下文中一起工作。邏輯要求後退按鈕知道如何關閉其父母,或者甚至根據「返回」的位置做更多的事情;刷新按鈕顯然需要知道如何訪問父視圖的數據。我如何使用'$'來編碼我是否總是侷限於單個控制器?對我來說,當所有3個實體在同一個地方工作時,我加載「外部」控制器或視圖是沒有意義的。
$只是編碼的好捷徑。你的問題似乎更復雜一點。你可以發佈示例代碼,顯示你正在試圖用你的控制器和視圖做什麼? – daniula
感謝daniula。這只是一個普遍的問題,不涉及我的代碼。我想我只是問一個有經驗的合金開發人員會採取什麼樣的方法。如果他們不會使用$,那對我來說就夠了。 – Brad
我在每個控制器中使用$。它允許通過他們的id名稱訪問你的視圖,並導出可由另一個控制器調用的公共可用方法。 – daniula