我有一个路由字符串,如变量中指定的以下var global_book_route = /books/:id
。
我希望能够在控制器中使用$ route或$ location来深度链接到此路由,有没有办法在不重新指定url前缀的情况下执行此操作?
这样可行:var id=1; $location.path('books/'+id')
- > ' /书籍/ 1'
但是,这不是:$location.path(global_book_route).search({id:1})
- > '书籍/?的ID = 1'
有没有办法可以使用字符串中指定的路径转到正确的位置?
答案 0 :(得分:1)
我认为您将路线本身(/ books /:id)与代码中路线的表示混合在一起。
例如,您的global_book_route应该只是“/ books /”。
然后,如果您要加载特定的书籍,只要在您的代码中声明路线,就可以转到位置global_book_route + book_id,例如:
<data_data>
<another_data_data>Content:</another_data>
<another_data>:Content</another_data>
<another_data>Content</another_data>
<another_data><![CDATA[This content should : not be affected]]>Content</another_data>
</data_data>
在侧节点上,当处理Angular中的路由时,查看angular-ui是非常值得的,ui-router提供了一种更好的系统来管理你的路由和状态。