控制器在$ routeProvider.when vs ng-controller in template中

时间:2015-03-22 06:17:43

标签: angularjs angularjs-directive route-provider

Angular.js新手。

将控制器传递给

的区别是什么

app.config(function($routeProvider, $locationProvider){ $locationProvider.html5Mode(false); $routeProvider .when('/login', {templateUrl: '/templates/profile/login.html', controller: 'angLoginController'}); });

vs在模板中使用ng-controller指令声明控制器?

<body ng-controller="angLoginController"> .... </body>

1 个答案:

答案 0 :(得分:5)

简而言之:关注点分离。如果将所有控制器分别放在路由器中的视图中,则会更容易维护。您需要在一个地方编辑所有内容。

  

$ routeProvider

这使您可以灵活地管理与该特定路径相对应的所有控制器和视图。在这种情况下,您可以在一个地方管理控制器。

  

在第二种情况下:内部视图

如果将其放在个人视图中,则需要转到该视图并进行编辑。