2015-05-27 70 views
0

我比較新的角度,還沒有開始使用我自己的自定義指令。如果這是正確的情況下嘗試和使用一個方向,我會在一些方向上。AngularJS:正確使用指令

我有一個登錄系統,根據用戶對系統的訪問權限,用戶將被賦予一組角色。此刻,這意味着如果您有權訪問,您將能夠查看允許您編輯和刪除的附加列,否則您只能查看錶格內容。

有三種可能的角色和用戶對象在其內具有存儲它們具有這些角色的訪問過的列表,

{ "FirstName": "test", "Roles": { "1": true, "2": true, "3": true } } 

這些角色,或數爲1-3的列表中,然後存儲在一個cookie中,以便它們可以用來不斷評估用戶可以看到和看不到的內容。

我的問題是如何在HTML中應用這些角色檢查?目前,我在發送角色值這樣的一種非常原始的方法 -

<td align="center" ng-show="CheckRoles(1)"> 

顯然有硬編碼像這是壞的角色......我認爲可能是最好的方法是創建自定義指令稱爲系統管理員,管理員,用戶等,然後取決於什麼可見性HTML元素應該有你可以添加多個這些指令。

我想我會問更多,如果這是一個好方法?如果是的話,那麼設置它的好概述是什麼?

謝謝

+0

您目前的做法看起來好像沒什麼問題,而且非常靈活:可以用'||結合角色檢查',您可以用'NG-if'代替NG-節目,你可以將角色與檢查其他類型的檢查等。我只是給角色而不是1,2,3,有意義的名稱。 –

+0

嗨,謝謝你的迴應。我可能會堅持我目前的方法,並對其進行一些細微的修改,就像您當時所暗示的那樣,也許我正在推翻它。我仍然希望將方法檢查角色放在指令中,否則我可能需要在不同的控制器中創建checkroles方法,以便在不同的頁面上使用它。 – user3407039

+0

你可以把這個函數放在$ rootScope中,並使它在任何地方都可用。或者你可以把它放在一個服務中,並在需要它的控制器範圍中公開這些功能。 –

回答

0

這是你之後(假設你的用戶對象稱爲「用戶」)?

<td align="center" ng-show="user.Roles[1]"> 
相關問題