这是使用$routeProvider或在angularjs中使用$stateProvider的最佳实践



我正在使用angularjs和nodejs构建小型应用程序,我想知道$stateprovider和$routeProvider的最佳用例是什么。

请帮助

Angular自己的ng路由器在路由时会考虑URL,UI路由器除了考虑URL之外还会考虑状态。

状态绑定到命名视图、嵌套视图和并行视图,使您能够有力地管理应用程序的接口。

在ng-router中,当通过标签提供链接时,您必须非常小心URL,而在UI路由器中,您只需要记住状态。您提供的链接如下。请注意,即使您在UI路由器中使用,就像在ng路由器中一样,它仍然可以工作。

所以,即使你决定在某一天更改你的URL,你的状态也会保持不变,你只需要在.config.上更改URL

虽然ngRouter可以用于制作简单的应用程序,但UI Router使复杂应用程序的开发变得更加容易。

$stateprovider在您希望应用程序具有不同状态时使用,例如,如果您希望有时加载屏幕的一小部分,而不是整个屏幕、go for State提供程序和$state.go(url)。特殊情况下,当您有滑动抽屉类型的实现时,您有一个带有按钮的右菜单,可以加载不同的子屏幕。

CCD_ 3是常用的。大多数情况下,当您希望更改整个屏幕并将其重定向到新屏幕时。

注意
当使用$state.go(url);重定向屏幕时,屏幕的真实链接不会改变。它只会更改状态,而不是页面的url

不要混淆问题,但AngularJS 1.5中有一个新选项:ComponentRouter

与传统的ngRouter($routeProvider)相比,此路由器与uiRouter($stateProvider)一起为您提供了更大的灵活性。如果迁移到Angular2,ComponentRouter和uiRouter都有前途。

也就是说,这取决于你的需求。您可能不需要ComponentRouter和uiRouter提供的可组合和嵌套视图,而只需要简单的路由。

最新更新