AngularJS:动态添加新路由

AngularJS:动态添加新路由,angularjs,angular-routing,Angularjs,Angular Routing,正如我们在config方法中使用$routeProvider一样,据我所知,$route是一个提供者 因此,我尝试向控制器中的$route添加新路由: 在配置和引导应用程序后,在控制器的某个位置,我尝试了以下方法: app.controller('MyCtrl',function($scope,$route) { $route.routes['/newRoute'] = { template : 'hey, this is dynamically added route' }; }); 但

正如我们在config方法中使用$routeProvider一样,据我所知,$route是一个提供者

因此,我尝试向控制器中的$route添加新路由:

在配置和引导应用程序后,在控制器的某个位置,我尝试了以下方法:

app.controller('MyCtrl',function($scope,$route) {
  $route.routes['/newRoute'] = { template : 'hey, this is dynamically added route' };
});
但这似乎不起作用。为什么?


有什么想法吗?

您只能通过ngapp config函数配置路由,因此不能在运行时动态添加路由。
另外,$route是一项服务。

$route不是一项服务,它是一个提供者,这就是为什么我们将$routeProvider注入配置块的原因。-我引用angular文档:$route服务。我认为你混淆了什么是服务,什么是提供者。提供者用于配置服务,反之亦然。是的,工厂、服务、提供者基本上被称为服务$路由是使用app.provider函数创建的,这就是为什么我们能够使用$routeProvider配置$route服务。所以现在在我的代码中,我试图将新路由注入$route dynamicallysorry,但你不能这样做。文档明确指出,您只能通过配置功能定义路由。即使你发现了一个黑客,在下一个版本中它也可能不起作用。不要去那里。同样对于单页应用程序,不确定您能否在开始时定义所有内容。