木偶多用户/角色应用程序

时间:2012-10-03 17:21:14

标签: backbone.js marionette

我必须使用Backbone Marionette构建一个非常复杂的应用程序。用户界面必须处理具有不同角色的多个用户。例如,'admin'用户将看到完整菜单,而'guest'用户将访问同一菜单的子集。此外,所有用户都可以访问一些视图,但需要在不同角色上分析其中的功能(添加,编辑,删除)。

我不确定使用正确的方法来解决这个问题。我可以为不同的角色设置不同的模板,但在这种情况下,大量代码将在其中重复。是否有任何最佳实践(或者可能是一些例子)使用Marionette来解决我的问题?

提前致谢, 的Fabrizio

1 个答案:

答案 0 :(得分:2)

我会保留一个mypermissions对象,然后在itemview中编写逻辑来处理不同的情况。您可以创建一个名为“hide”的CSS类,该类设置为

  

显示:无

然后你只需添加该类 这可以在不更改模板的情况下完成。

以下是Coffeescript中的一个示例(未测试或任何其他内容)

AuthView = Backbone.Marionette.ItemView.extend
    template: '#auth-template'          
    onRender: ->
        @checkpermissions()
    checkpermissions: -> 
        if (mypermissions.isUser)
            $(".delete").addClass 'hide'
            $(".add").addClass 'hide'
        elseif (mypermissions.isAdmin)
            $(".delete").removeClass 'hide'
            $(".add").removeClass 'hide'