Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular.js中的路由不起作用_Javascript_Angularjs - Fatal编程技术网

Javascript 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(

我在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的文件。 这是一个引导应用程序。 这是一个活生生的例子:

我认为您的路径可能有问题。。它的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的一部分。很高兴这个解决方案奏效了。干杯