Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干-获取路由器参数并重新加载相同的路由_Backbone.js_Routes - Fatal编程技术网

Backbone.js 主干-获取路由器参数并重新加载相同的路由

Backbone.js 主干-获取路由器参数并重新加载相同的路由,backbone.js,routes,Backbone.js,Routes,我有一个表,我正在删除一行。删除此行时,我希望重新加载当前主干路由,但需要考虑的事项很少: e、 我在这条路线上 “oneurl#按名称排序/第8页” 如果该页上的表只有一条记录,我将其删除,我想重定向到#order by name/page-7,因此我需要获取“page”参数。如果仍有记录,我希望“重新加载”相同的路由(如果有,则添加下一页的行)。这似乎是不可能的() 有什么想法吗?正如您链接的问题中所讨论的(主要是jashkenas的评论“trigger:true通常是一种代码气味”),您不

我有一个表,我正在删除一行。删除此行时,我希望重新加载当前主干路由,但需要考虑的事项很少:

e、 我在这条路线上

“oneurl#按名称排序/第8页”

如果该页上的表只有一条记录,我将其删除,我想重定向到#order by name/page-7,因此我需要获取“page”参数。如果仍有记录,我希望“重新加载”相同的路由(如果有,则添加下一页的行)。这似乎是不可能的()


有什么想法吗?

正如您链接的问题中所讨论的(主要是jashkenas的评论“
trigger:true
通常是一种代码气味”),您不应该在javascript应用程序中使用这样的路由

你应该做的是:

  • 有地方存储当前应用程序的状态(例如,普通javascript对象),该状态被传递给负责显示所需视图和数据的函数
  • 删除行时,修改应用程序状态对象(例如更改当前页面属性),并调用与上述相同的函数,再次传入配置
  • 仅当片段应更改时,才使用
    导航更新url
反过来,路由器应该解析url片段以生成上面讨论的配置对象,并调用函数来呈现视图(传递配置信息)

有关如何管理路由而不在任何地方使用
trigger:true
的更多信息,请查看和to(在木偶上,但同样适用于主干网),其中还包含一章讨论路由处理