Angular JS路由——SPA内部的链接
Angular JS Routing - Links inside SPA
我已经创建了一个项目index.html与某些链接到其他页面。我的路由按预期工作,但我想知道当涉及到其他页面上的链接时,最好的方法是什么。
说明:
我的index.html页面有路由:
饲料Bblog市场招聘广告
现在我想知道的是如何在这些页面中路由链接。
例如,我的博客页面有我想在同一页面中打开的选项卡。例如,每当我点击某个选项卡链接时,它就会将我重定向到index.html,因为我的。else路由设置为/.
不确定路由使用的是什么引擎或库。尽管不久之前我也面临同样的要求。
我们使用ui-router进行路由。它和angular的路由非常相似。
路由表中的一个片段包含类似的内容。
$stateProvider
.state('home', {
url: '/',
templateUrl: '/views/index',
})
.state('orders', {
url: '/orders',
templateUrl: '/views/orders',
})
.state('orderdetail', {
url: '/orders/detail/:id',
templateUrl: '/views/orderdetail',
})
.state('orderdetail.address', {
url: '/:addressId',
templateUrl: '/views/orderdetail',
})
本质上是使用。dot符号来分隔嵌套视图。所以orderdetail.address
嵌套在orderdetail
这意味着上面的路由将允许您查看/orders/detail/myOrderId
的订单详细信息的概述,并通过访问/orders/detail/myOrderId/myaddressId
如果你正在使用ui-router
,那么你将在这个链接
如果你使用的是angular ngRoute
,那么[ngRoute][3]
文档和支持的plunker会演示如何堆叠路由。
So (from plunker) -
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: 'BookController',
resolve: {
// I will cause a 1 second delay
delay: function($q, $timeout) {
var delay = $q.defer();
$timeout(delay.resolve, 1000);
return delay.promise;
}
}
})
.when('/Book/:bookId/ch/:chapterId', {
templateUrl: 'chapter.html',
controller: 'ChapterController'
});
这将给你/book/myBookId
和/book/myBoodId/ch/myChapterId
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 从内部链接进入页面时,引导模式未打开
- Cordova包装应用程序内部链接加载在应用程序中,外部链接加载在浏览器中
- 谷歌分析跟踪内部链接不正常工作的事件
- 如何自动将页码添加到HTML页面上的所有内部链接
- 将内部链接分配给视差网站的不同部分
- iframe resizer内部的锚点链接不'不起作用
- url中没有id的内部链接
- 如何使用JS抓取页面以获取内部链接?它也必须递归地完成
- 在不增加分析跳出率的情况下,绑定网页上的内部链接以动态加载
- 将内联块元素居中,并在 td 内部使用链接
- 如何检测用户点击了内部或外部链接
- 基础标题手风琴上的内部链接
- 函数内部的超链接
- 用于获得“;两个不同的滚动速度“;在这个网站上?(请参阅内部链接)
- 指向“”的超链接;隐藏的“;jQuery Toggler内部的内容(特定的#id)
- 如何从指令链接内部为选择框设置选定值
- 如何根据链接内部状态更改列表项的颜色
- 从外部源加载链接内部模态
- 如果单击链接内部的元素,如何防止默认链接行为