Angularjs 使用$routeProvider不会将ng控制器放入标记中

Angularjs 使用$routeProvider不会将ng控制器放入标记中,angularjs,route-provider,Angularjs,Route Provider,我在angular应用程序中使用$routeProvider。我的路线是这样的: .when("/MyProfile", { templateUrl: "app/MyProfile.html", controller: "MyProfileCtrl" }) 但令我惊讶的是,当它将HTML模板呈现到ng视图中时,它没有向标记添加ng控制器属性。实际上,我并不关心$routeProvider如何处理与控制器的通信,直到我看到了带有共享作用域的指令,而

我在angular应用程序中使用$routeProvider。我的路线是这样的:

 .when("/MyProfile", {
         templateUrl: "app/MyProfile.html",
         controller: "MyProfileCtrl"
     })
但令我惊讶的是,当它将HTML模板呈现到ng视图中时,它没有向标记添加ng控制器属性。实际上,我并不关心$routeProvider如何处理与控制器的通信,直到我看到了带有共享作用域的指令,而我放在模板中的共享作用域无法看到控制器的作用域。无论如何,为了使我的指令正常工作,我必须从路径中删除控制器并手动将其添加到模板中


我仍然对这个解决方案心存疑虑,因为$routeProvider是一个非常有名的插件,我希望它能比这个更好地工作。

这是$routeProvider的功能,它将dynamic controller应用于模板。如果它将添加控制器标记,那么它是如何动态的?仔细检查文件。好的。那么在使用指令的情况下,为什么指令不能使用动态控制器的作用域呢?您如何处理将指令放入模板中的问题?这与您所提出的问题不同。第二个指令也可以使用Controllers的作用域。您似乎没有很好地阅读我的问题。我说我必须将控制器放入标记而不是路由定义中的原因是指令不能使用控制器作用域。好的,但据我所知,在标记上或路由中添加控制器的指令仍然可以使用其作用域。