我有一个辅助导航,用于某些视图但不是全部。因此,我在使用辅助导航的视图中包含以下内容,该导航没有问题:
setupNavigationSecondary: =>
view = new App.Views.Users.NavigationSecondary(navigation_active: ".navigation-secondary-manage")
@$(".navigation-secondary").replaceWith(view.render().el)
您会注意到我传递了“navigation_active”的引用,它告诉辅助导航将哪个菜单项标记为活动。辅助导航视图具有以下内容以将“活动”类添加到右侧菜单项:
navigation_active: ""
initialize: (options) ->
@navigation_active = options.navigation_active
setActiveNavigationItem: =>
if @navigation_active.length
$(document).ready =>
$(@navigation_active).parent().addClass('active')
render: ->
$(@el).html(@template())
@setActiveNavigationItem()
return this
问题:
当页面首次通过浏览器中的 URL 直接加载时,一切正常,即正确的辅助导航项具有“活动”类。如果我从其他地方开始,或者我去其他地方并返回到具有辅助导航的视图 - 屏幕上的视图会在 '$(@navigation_active).parent().addClass('active')' 函数执行后更新并且因此没有菜单项具有“活动”类。
那么,如何在辅助导航视图加载后更新活动导航项?