[英]$location.path('/dashboard'); not working
我正在尝试在angular js中创建简单的登录应用程序
以下是我的login.html
<!DOCTYPE html> <html ng-app="AppName"> <head> <title></title> </head> <body> <div ng-controller="loginCtrl"> <form action="/" id="myLogin"> Username: <input type="text" id="username" ng-model="username"><br> Password: <input type="password" id="password" ng-model="password"><br> <button type="button" ng-click="submit()">login</button> </form> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> <script type="text/javascript" src="angular-route.min.js"></script> <script type="text/javascript" src="controller.js"></script> </body> </html>
以下是我的controller.js
var app = angular.module('AppName', ['ngRoute']); app.config(function($routeProvider){ $routeProvider .when('/', { templateUrl: 'login.html' }) .when('/dashboard', { templateUrl: 'dashboard.html' }) .otherwise({ redirectTo: '/' }); }); app.controller('loginCtrl', function($scope, $location){ $scope.submit = function(){ var uname = $scope.username; var password = $scope.password; if ($scope.username == 'admin' && $scope.password == 'admin') { $location.path('/dashboard'); console.log($location.path()); } else { alert('wrong password'); } }; });
但提交后不会重定向到dashboard.html。 在控制台中,它仅将路径显示为/ dashboard。 我是angular.js的新手。
没有要更改的视图占位符,您需要使用<div ng-view></div>
使用window.location = "/dashboard";
为了加载您的html模板,您应该使用如下所示的角度路由
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "login.htm"
,controller : "LoginController"
})
.when("/dashbord", {
templateUrl : "dashbord.htm"
,controller : "DashbordController"
})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.