我有一个角度页面,它有一个 ng-controller 指令和一个 ng-view 指令。
<body ng-controller="MainController">
<h1>Welcome to my main template</h1
<ng-view></ng-view>
</body>
我也配置了路线。
angular.module('app', []).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.
when('/', {templateUrl: '/templates/home.html', controller: HomeController}).
when('/start', {templateUrl: '/templates/start.html', controller: StartController});
$locationProvider.html5Mode(true);
}]);
例如,当我单击将我路由到 /start 的 URL 时,只有 StartController 运行,而不是 MainController。我想这种方法是有道理的,因为主布局已经加载,然后模板现在只需要加载,但我的 MainController 中有控制我需要运行的部分模板视图的逻辑。
但是,如果我刷新整个页面,两个控制器都会运行。
有没有办法让两个控制器都运行?这是错误的模式吗?