Javascript angular.js中的路由不起作用
我在angular.js中使用路由 我的代码是:Javascript angular.js中的路由不起作用,javascript,angularjs,Javascript,Angularjs,我在angular.js中使用路由 我的代码是: //controllers.js var ar= angular.module('ar', []); ar.controller('lc', ['$scope', '$http', function($scope, $http){ $http.get('login.json').success(function(data){ $scope.art=data; }) }]) ar.controller(
//controllers.js
var ar= angular.module('ar', []);
ar.controller('lc', ['$scope', '$http', function($scope, $http){
$http.get('login.json').success(function(data){
$scope.art=data;
})
}])
ar.controller("search", function(){
this.search='a';
this.getdata= function (searchquery) {
console.log(searchquery);
}
});
//main.js (app.js)
var myApp= angular.module('myApp',[
'ngRoute',
'ar'
]);
myApp.config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/login', {
templateUrl: 'inc/login.html',
controller: 'lc'
}).
otherwise({
redirectTo: '/login'
});
}]);
当我进入主页时,它不会重定向到登录页面,当我点击登录按钮时,它也不会工作
<!DOCTYPE html>
<html class="no-js" ng-app="myApp">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Home</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css">
<style>
</style>
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
<script type="text/javascript" src="js/angular.js"></script>
<script type="text/javascript" src="js/angular-route.js"></script>
<script src="js/main.js"></script>
<script src="js/controllers.js"></script>
</head>
<body>
<ul class="nav navbar-nav pull-right">
<li class="active"><a href="#">Home</a></li>
<li><a href="#/login">Login</a></li>
</ul>
</div><!--/.navbar-collapse -->
家
在底部:
我已经包含了jquery和bootstrap的文件。
这是一个引导应用程序。
这是一个活生生的例子:
我认为您的路径可能有问题。。它的mvc基础和路由定义了您的路径:)正确指定了路由。您需要在模板中定义ng视图,以便将特定路由中提到的模板加载到主模板中 比如:
<div class="page-container">
<div ng-view></div>
</div>
ng视图
将是加载路由器中提到的每个模板的地方 你也可以分享html吗?让我把它上传到服务器上。我已经在问题中加入了一个真实的例子。路由正在改变。您尚未添加位置以包含logintemplateUrl的模板:“inc/login.html”,这是否正确?路径是否正确。如果路径不正确,则控制台会出现错误。当我添加此模板时,控制台会给出此错误:错误:[$injector:unpr]未知提供程序:$templateRequestProvider您应该将其添加到定义了ng app=“myApp”
的main index.html文件中。你得到了什么错误?是的,我已经将其添加到主索引文件中。请看我更新了代码的实例:它正在工作。我知道我已经更改了angular的文件。js@user3636439:我强烈建议您使用ui路由器而不是ng路由器,因为它不再是Angular core的一部分。很高兴这个解决方案奏效了。干杯