我在 Angular 应用程序中使用路由。当页面加载时,我得到 Controller 功能触发 2 次..
如何避免这种情况,或者调用 2 次有什么用处吗?
有人帮助我并解释我所做的错误吗?
这是我的 html://我使用 Jade !
header
h1 Header
div.content(ng-controller="HomeController")
div(ng-view)
footer
h5 Footer
这是我的js:
var locations = angular.module('location', ['ngRoute']);
locations.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
controller: 'HomeController',
templateUrl: 'views/home.html'
})
.when('/inbox/:name', {
controller: 'InboxController',
templateUrl: 'views/inbox.html'
})
.otherwise({redirectTo: '/'});
}]);
locations.controller('HomeController', ['$scope', function($scope){
console.log('hi'); // i am getting 2 times consoled! -why?
}]);
最佳答案
因为你的模板中有 div.content(ng-controller="HomeController")
。您不需要在 header 模板中显式定义 ng-controller
指令,因为它已经使用 $routeProvider
关于javascript - Angular - 路由为什么我的 Controller 被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25201668/