我必须使用骨干木偶建立一个非常复杂的应用程序。用户界面必须处理具有不同角色的多个用户。例如,“管理员”用户将看到完整的菜单,而“Guest”用户将访问相同菜单的子集。此外,所有用户都可以访问一些视图,但是在不同的角色中需要对它们中的函数(添加,编辑,删除)进行分析。

我不确定用于解决这个问题的正确方法。我可以为不同的角色带来不同的模板,但在这种情况下,大量代码将在它们内部重复。是否有任何最佳实践(或可能是一些示例)使用Marionette对我的问题进行排序?

提前感谢, Fabrizio

有帮助吗?

解决方案

我会保留一个mypermissions对象,然后在itemview中编写逻辑以处理不同的案例。您可以使一个名为“隐藏”的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'
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top