骨干路线,创造一条人造路线?

时间:2014-11-11 10:09:01

标签: javascript backbone.js backbone-events

我不确定我是否使用过技术术语,或者我将描述我想要对我的骨干路线做什么。在我的应用程序中,用户登录仪表板,他们可以看到与他们相关的所有活动,单击活动链接创建模式,以便他们编辑该活动。

登录信息中心时,如果点击了我希望模式覆盖信息中心的链接,则网址为http://app.dev/#dashboard,但要将网址更改为http://app.dev/#activity/edit/:id而不会丢失应位于后面的活动视图model,当前用于编辑路径和重新渲染所有内容的应用导航,是否有另一种方法来保留视图但更改URL?

1 个答案:

答案 0 :(得分:0)

您需要创建一个子视图,该子视图将呈现编辑视图(或者只创建一个叠加弹出窗口)。 无论哪种方式,您都无法使用<a href>标记执行此操作,但您需要通过javascript执行此操作。

Backbone.js可让您使用以下方式轻松浏览路径:

router.navigate(fragment, options) - 请参阅Backbone Navigate

使用{trigger:true}你可以调用路由器功能(基本上就是现在发生的事情),然后使用路由器功能重新渲染视图(好像用户登陆该页面)。默认情况下,如果你传递{trigger:false},Backbone只会更改你的网址,但不会触发路由器功能,所以它对用户是透明的,除了会看到网址更改的事实,他可以看他历史上的变化(如果你使用Backbone.history.start()

底线:要更改网址,不通过路由器,请致电router.navigate(requestedUrl, { trigger: false})并不要忘记向他显示新视图(弹出窗口,叠加层,嵌套视图等等)