我正在使用 Twitter Bootstrap 开发 AngularJS 网络应用程序。模板和控制器运行两次。我不知道他们为什么这样做。
下面是 index.html 文件中的一些代码:
<html data-ng-app="app" ng-controller="AppCtrl">
<div class="container ng-view" data-ng-view></div>
...
<script>
(function (angular) {
"use strict"; // jshint ;_;
// http://coenraets.org/blog/2012/02/sample-application-with-angular-js/
angular.module('app', ['filters', 'angular', 'currency'])
.config(function($routeProvider) {
var _view_ = 'view/';
$routeProvider.
when('/app', {templateUrl:_view_+'app/index.html', }).
when('/account/settings', {templateUrl:_view_+'app/settings.html', }).
when('/profile/:profile_ID', {templateUrl:_view_+'app/profile.html', controller:ProfilePageCtrl}).
when('/discuss', {templateUrl:_view_+'discuss/discuss.html', controller:DiscussCtrl}).
when('/', {templateUrl:_view_+'page/home.html' }).
when('/:page', {templateUrl:_view_+'page.html', controller:PageCtrl}).
otherwise({redirectTo:'/'});
})
...
有人可以提供建议吗?模板和控制器是否应该运行两次?
2012-12-04 更新:我发现模板运行了两次,不管它们是否有控制器。如果模板有控制器,控制器也会运行两次。