請參考 body 的設定, 在頂層元素使用 main (ng-app) 及 ctrl.main (ng-controller)
各種資料型別 (提案, 對策, 方案, 留言等) 都有其對應的 angularjs controller. 使用前請設定 ng-controller
各種資料型別都會有一些基本屬性, 包含:
使用 list 的方法很簡單, 用 ng-repeat="(k,v) in list" 即可, k 存的是資料的索引 (key, 或稱 index), v 則是資料本身. 可直接參考下面的提案列表範例. 此外, 每種資料型別也都可以被按讚, 建立投票選項 或是與其他資料型別產生關聯. 詳情請見後面的解釋.
登入與登出的按鈕請參考下列:
目前暫時使用臉書登入, 取得的使用者資訊都存在 user 中, 可以用看裡面有什麼資料可以使用. 常見的包括 user.id, user.username, user.displayName
未來加入其他登入方式時, 會需要 normalize 不同格式. 儘量使用常見的欄位可以避免未來的麻煩.
每個 controller 都內含有 cur 變數, 這個變數被用來作為新增資料前放資料的地方。例如填入留言後按下面的按鈕即會產生新留言.
你可以在 cur 中存入任何需要的變數, 但請避開前所提到的基本屬性, 還有 vote, link, stand 等關鍵字.
對你想刪除的資料的 key 呼叫 delete 即可. 上例中的留言列表即有範例.
直接將你想改的資料更新, 然後用資料的 key 執行 save 即可. 你可以結合 contenteditable 屬性讓事情變得更容易. 下例讓你修改留言的內容, 試著點留言的文字, 你可以直接做修改. 改完後, 按右方的存檔鈕, 即完成存檔.
資料間可以互相連結, 完全看你怎麼設計. 為了方便建立連結, 這裡提供了一個快速選擇資料的 directive: "chooser". 下面為 chooser 的範例, 試著輸入一些字 (例如 '計畫'), chooser 會將找到的資料以 "type / name" 的形式顯示出來. 當你點選了其中一個資料後, chooser 所連結的 model 會得到該資料的細節, 包含 id, 類型, 跟資料本身
選取資料以後, 建立連結則使用 "link" 來實作. 下面為一個提案, 帶有一個連結資料按鈕.
link 函式的第一個參數為連結的分類, 'link' 代表普通連結. 'choice' 代表是選項, 'child' 代表是子項目. 最後一個參數的數字代表連結的方向性, 1 為順向, -1 為反向, 0 為雙向.
你也可以在建立資料時立刻連結資料. 請參考下一個範例的 createWith 函式.
按讚為任何資料的基本功能, 使用下面的樣板即可.
就算是留言也可以:
投票的話稍微複雜些. 先建立好數個類型為 'choice' 的連結後, 利用 picked 函式選出已選及未選的項目, 並用 pick 來選取/取消選取項目. 這裡利用 createWith 來建立連結到提案的方案作為選項.