如果当前页的子程序中没有一个可见,是否可以自动将页重路由到第一个子页?场景是,我正在构建一系列选项卡内容区域,并通过Knockout和Pager.js控制路由。我想要的是,如果一个选项卡内容区域有子选项卡,则路由应该自动调整,以显示第一个子区域是活动的。我不能只是设置‘开始’角色的子页面,因为我不能保证第一个孩子永远是一样的。
我创建了一个基本的小提琴,展示了这个架构:
http://jsfiddle.net/ePY3C/2/
<div id="myApp">
<div data-bind="page: { id: 'start', role: 'start' }">
<ul class="nav nav-tabs" data-bind="foreach: $page.children">
<li data-bind="css: {active: isVisible}"><a data-bind="text: $data.val('title'), page-href: $data"></a></li>
</ul>
<div data-bind="page: { id: 'page-one', title: 'Page One' }">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Earum, quae totam illum eaque reiciendis incidunt tempore alias a possimus laboriosam dolorum officia assumenda fugit quo tenetur voluptas recusandae labore culpa.</p>
</div>
<div data-bind="page: { id: 'page-two', title: 'Page Two' }">
<p>Suscipit, quibusdam, ex rerum quae minus ullam esse aliquam non nihil officia! Doloribus expedita veritatis porro quae quos ad ex dolorum minus temporibus facilis. Quia, ipsum officia ullam perferendis minima?</p>
</div>
<div data-bind="page: { id: 'page-three', title: 'Page Three' }">
<p>Tempora, similique laborum quas eos ullam sit consequatur tenetur corrupti quod dolore! Porro, ex, architecto, pariatur perspiciatis a itaque velit illo autem rem nihil error minima minus alias nostrum enim?</p>
</div>
<div data-bind="page: { id: 'page-four', title: 'Page Four' }">
<p>Doloribus, dolore, eligendi, vitae vero fugiat accusantium ex error eum qui enim molestiae labore dignissimos aperiam quis suscipit placeat unde consequatur ipsum eos in sed dolorem officia consequuntur nihil mollitia.</p>
</div>
<div data-bind="page: { id: 'page-five', title: 'Page Five' }">
<p>Dolor, quo quis voluptates suscipit velit harum totam officiis quisquam quia perspiciatis amet aspernatur tempore magnam. Eos, in, vel similique temporibus dolores animi neque delectus sunt blanditiis voluptatem nisi cum!</p>
</div>
</div>
结果应该是,它使用' page -one‘的路由id自动地路由到子页面。
发布于 2014-02-24 12:31:05
解决这个问题的一种方法是多次使用role: 'start'。见这 JsFiddle。
https://stackoverflow.com/questions/21240401
复制相似问题