我正在使用angularjs和nodejs构建小应用程序,我想知道$ stateprovider和$ routeProvider的最佳用例。
请帮忙
答案 0 :(得分:1)
Angular自己的ng-Router在路由时会考虑URL,UI-Router除了URL之外还会获取状态。
状态绑定到命名,嵌套和并行视图,允许您有力地管理应用程序的界面。
在ng-router中,你必须在通过标签提供链接时非常小心URL,在UI-Router中你必须记住状态。你提供像这样的链接。请注意,即使您在UI-Router中使用,就像在ng-router中一样,它仍然有效。
因此,即使您决定某天更改网址,您的状态仍将保持不变,您只需在.config更改网址。
虽然ngRouter可以用来制作简单的应用程序,但UI-Router可以让复杂的应用程序更容易开发。
答案 1 :(得分:1)
$stateprovider
,例如,如果您希望jst一小部分屏幕有时加载而不是整个屏幕,则转到State提供程序和{{ 1}}。特殊情况下,如果你有一个 Sliding Drawer 类型的实现,你有一个带有按钮的正确菜单,可以加载不同的子屏幕。
$state.go(url)
是常用的。大多数情况下,您希望更改整个屏幕并将其重定向到新屏幕。
注意强>
使用$routeProider
重定向屏幕时,屏幕的真实链接不会改变。它只会改变状态而不是页面的URL
答案 2 :(得分:0)
不要混淆问题,但AngularJS 1.5中有一个新选项:ComponentRouter
此路由器与uiRouter
($ stateProvider)一起为您提供比遗留ngRouter
($ routeProvider)更大的灵活性。如果您迁移到Angular2,ComponentRouter和uiRouter都有未来。
那说,这取决于你的需求。您可能不需要ComponentRouter和uiRouter提供的可组合和嵌套视图 - 而只需要简单的路由。