繁体   English   中英

$ location.path('/ dashboard'); 不工作

[英]$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM