我正在使用angularjs和nodejs构建小型应用程序,我想知道$stateprovider和$routeProvider的最佳用例是什么。
请帮助
状态绑定到命名视图、嵌套视图和并行视图,使您能够有力地管理应用程序的接口。
在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提供的可组合和嵌套视图,而只需要简单的路由。