我在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("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的文件。 这是一个bootstrap应用程序。 这是实例: Live example
答案 0 :(得分:2)
正确指定路线。您需要的是在模板中定义ng-view,以便将特定路径中提到的模板加载到主模板中
类似的东西:
<div class="page-container">
<div ng-view></div>
</div>
ng-view
将是加载路由器中提到的每个模板的地方。
答案 1 :(得分:-1)
我认为您的路径可能存在问题..其mvc基础和路径定义了您的路径:)