我想使用路线,但我总是想使用相同的模板和控制器。我有这样的路线:
**a/:albumid**
and
**i/:imageid**
在第一种情况下,我想加载图像数组并将它们添加到列表中。在第二种情况下,我想加载单个图像并将其添加到列表中。
所以区别仅在于数据加载。做到这一点最有效的方法是什么?
ng-show 是否可以制作动画?类似于 jQuery 的 SlideDown 之类的东西?
看看这篇文章,它描述了一种完全按照你想要的方式做事的方法:
http://www.bennadel.com/blog/2420-Mapping-AngularJS-Routes-Onto-URL-Parameters-And-Client-Side-Events.htm http://www.bennadel.com/blog/2420-Mapping-AngularJS-Routes-Onto-URL-Parameters-And-Client-Side-Events.htm
我已经使用了该技术,效果很好。
简而言之,路由是这样的:
$routeProvider
.when("/a/:album_id", {
action: "album.list"
}).when("/i/:imgid", {
action: "images.load"
})
然后在你的控制器中你可以访问$route.current.action
并做适当的事情。诀窍是在控制器中创建一个函数来完成所有工作(本文将其称为render()
) 然后在 $routeChangeSuccess 触发时调用该函数:
$scope.$on(
"$routeChangeSuccess",
function( $currentRoute, $previousRoute ){
// Update the rendering.
render();
}
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)