javascript - Angular - 路由为什么我的 Controller 被调用两次

标签 javascript node.js angularjs

我在 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/

相关文章:

javascript - 在没有 Node 的系统上运行 nodejs 应用程序

javascript - 如何配置 jshint 不给我错误 "Bad line breaking before"?

node.js - NodeJS 服务器之间的消息

angularjs - 使用 adal/adal-angular.js 时,是否存在在客户端代码中公开 clientId 和租户的安全问题

javascript - ng-style 应用得太晚了

javascript - angularjs http.POST 不包含数据

javascript - React Native 固定页脚

javascript - 一个简单的Javascript编写方法

node.js - 带有redis服务器的nod​​e.js中未定义的空错误?

node.js - Node JS 6.9 和 Angular CLI 版本兼容性