2011-06-10 34 views
1

我有一个骨干js应用程序 我在视图上有一些过滤器。有没有办法改变路线,一旦我改变过滤器的视图如何更改主干应用中的路由,并更改事件

+0

你是什么意思改变路线? – blockhead 2011-06-10 14:25:33

+0

当我更换过滤器时,我希望过滤器成为url的一部分,所以主干可以自动处理hashchange,我不必重新渲染视图。 – buildingagent 2011-06-10 15:27:51

回答

2

你可以在你的控制器调用“saveLocation”与你想保存的散列位置。这将在该位置的历史记录中添加一个条目。

你也可以做window.location.hash =“xxx”,但saveLocation是如何设计骨干的。

+0

如何在视图中获取控制器的实例? – buildingagent 2011-06-10 15:26:37

+0

在我们的内容中,我们确实最大限度地减少了我们在视图中做的事情;而是倾向于遵循控制器。所以我们会让视图触发一个事件给控制器。那时,控制器就可以访问saveLocation方法。另一方面,我不确定你的观点是否对过滤器有反应。如果是这样,控制器可以通过使用上述事件并修改底层模型或集合来实现。然后视图可以绑定到更改事件并自行刷新。 – 2011-06-11 02:06:30

+0

@Bill,如果您的视图需要使用来自不同数据库集合(我使用MongoDB)的数据创建,您如何为视图创建模型? – buildingagent 2011-06-11 04:53:23