0

我正在使用 Ionic 框架及其 AngularJS UI-Router 和 $stateProvider 来处理我的应用程序中的不同视图。

但是,我无法弄清楚如何告诉 $stateProvider 我有不同的“主视图”,每个都有不同的子视图。

/#/home例如,当我打开时,单击将我发送到的链接/#/about,然后/#/about不会呈现为它自己的新视图。相反,它转换到它,因为它是/#/home.

当我用 AngularJS $routeProvider 替换 $stateProvider 时,它的工作原理就像它应该的那样,但是所有的转换都消失了。

我已经创建了一支 Pen 供您查看。

http://codepen.io/anon/pen/gBDFi

它们之间不应有过渡。每个“基本”网址都应该是一个新的“标签”。

4

2 回答 2

0

不知道这是否仍然相关,因为它是 2 月份发布的,我绝不是 ng-pro,但这是我的尝试JSBinLink

我做了两件主要的事情,将内容包装在 ion-tabs 中,并将其作为抽象状态添加到 stateProvider 中。

使用此构造,您有两个独立的选项卡“主页”、“关于” - 注意,没有后退按钮。但是,如果您在“关于”中导航到“汤姆” - 您会得到一个后退按钮。

还有其他方法可以实现类似的东西,一种是创建子状态等。

我建议查看 UI-Routers 文档。它大部分写得很好并且信息量很大 - 还有一个 Tom Kindberg 的创建视频在这里解释了它的主要概念。

希望这可以帮助。

于 2014-06-25T09:11:56.230 回答
0

$StateRouteProvider 和 $UrlRouteProvider 之间的区别..

$UrlRouteProvider.otherwise(url); --> 路由到给定的 url。

$StateRouteProvider.otherwise(state); -->路由到给定状态。

因此,如果您使用的是 ui-router,那么无论何时需要更改视图,请使用 $state.go()。在 $location.path(URL) 的情况下,将在从独立状态转换到当前状态的情况下工作。如果您希望通过同一父级下的州进行路由,那么您必须使用 $state 路由。

于 2017-02-26T17:12:30.897 回答