我正在尝试使用ons-navigator
或类似内容基于数组创建具有任意页数的ng-repeat
元素。在此我需要找到一种方法来跳过页面。
我在导航器中尝试在ng-repeat
上使用ons-template
无效。有一个GitHub问题解释了为什么我的方法不起作用:https://github.com/OnsenUI/OnsenUI/issues/233
答案 0 :(得分:0)
目前,您可以从一开始就在导航器中放置任意数量的页面。
<ons-navigator>
<ons-page ng-repeat="page in pages">{{$index}}</ons-page>
</ons-navigator>
这很好用。现在关于skipping forward
部分 - 实际上导航器应该具有内部页面,就像它们是堆栈一样,这意味着最后一页应该始终是可见的。这就是为什么它还有方法pushPage
和popPage
。所以你通常应该只是在你的堆栈中只推送你想要的页面。因此,在您的情况下,$scope.pages
应该只包含您需要的页面。如果您将来有需要的页面,最好在以后添加它们。
如果您想要放置比您需要的页面更多的页面,您仍然可以这样做,但是您需要自己管理页面的显示。那么你的两个选择是:
bringPageTop
的内容将您想要的内容放在堆栈顶部。以下是这两种方法的Demo。
关于生成动态模板 - 也许您可以尝试使用一个模板进行管理,但让它的控制器执行您想要的任何操作。最初你不能在模板本身上使用ng-repeat
之类的东西,但是在将模板内容添加到dom之后,绑定将正常工作。在这种情况下,您可以多次推送相同的模板(可能没有动画),只需更改范围内的任何内容。