angularjs – 控制器启动两次
发布时间:2020-12-17 17:25:37 所属栏目:安全 来源:网络整理
导读:我有一个简单的控制器(logincontroller),在加载login.html时会启动两次,但我不知道为什么会这样. MyApp.js: angular.module('PVM',[ 'Authentication','Modal','ngRoute']).config([ '$routeProvider',function($routeProvider) { $routeProvider .when('/L
我有一个简单的控制器(logincontroller),在加载login.html时会启动两次,但我不知道为什么会这样.
MyApp.js: angular.module('PVM',[ 'Authentication','Modal','ngRoute' ]) .config([ '$routeProvider',function($routeProvider) { $routeProvider .when('/Login',{ controller: 'LoginController',templateUrl: 'Login.html' }) .when('/Home',{ controller: 'ModalController',templateUrl: 'Home.html' }) .otherwise({ redirectTo: '/Login' }); } ]); LoginController.js: angular.module("Authentication") .controller("LoginController",[ "$scope","$rootScope","$location","AuthenticationService",function($scope,$rootScope,$location,AuthenticationService) { AuthenticationService.ClearCredentials(); $scope.login = function() { var foo = "bar"; //Breakpoint hits here twice when loading login.html }; } ]); index.html的: <!DOCTYPE html> <html ng-app="PVM"> <head> <title>My Ang</title> <link href="Content/bootstrap.min.css" rel="stylesheet" /> <link href="Content/bootstrap-theme.min.css" rel="stylesheet" /> <link href="Content/MyCss.css" rel="stylesheet" /> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> </head> <body> <div> <div ng-view></div> </div> <script src="//code.jquery.com/jquery-2.0.3.min.js"></script> <script src="Scripts/bootstrap.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular-route.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular-animate.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular-cookies.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.min.js"></script> <script src="Scripts/Services/ModalService.js"></script> <script src="Scripts/Services/AuthenticationService.js"></script> <script src="Scripts/Controller/LoginController.js"></script> <script src="Scripts/Controller/ModalController.js"></script> <script src="Scripts/MyApp.js"></script> </body> </html> 的login.html: <div class="container centeredDiv" ng-controller="LoginController"> <p>Login page</p> </div> 解决方法
因为你的控制器在2个地方执行.
>来自login.html – ng-controller <div class="container centeredDiv" ng-controller="LoginController"> <p>Login page</p> </div> >从与路线相关的控制器 – /登录 .when('/Login',{ controller: 'LoginController',templateUrl: 'Login.html' }) 怎么修?您应该从login.html中删除ng-controller属性 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |