angular.js - 让路由工作的问题

时间:2015-10-14 21:42:54

标签: javascript angularjs

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<style>
</style>
</head>
<body ng-app="myApp" >

<div data-role="page" id="pageone">
  <div data-role="header">
    <h1>WELCOME!</h1>
  </div>

<div ng-view></div>

    <div data-role="footer">
    <h1>&copy; 2015 - HSKA</h1>
  </div>
</div>

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
'use strict';

var app = angular.module('myApp', ['ngRoute']);

app.config(function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl : 'views/home.html',
            controller  : 'HomeController'
        })
        .when('/abc', {
            templateUrl : 'views/abc.html',
            controller  : 'abcController'
        })
        .when('/def', {
            templateUrl : 'views/def.html',
            controller  : 'defController'
        })
        .when('/efg', {
            templateUrl : 'views/efg.html',
            controller  : 'efgsController'
        });

});

app.controller('HomeController', function($scope, $http, $location) {

     $http.get('http://localhost/webapp/dbconnect.php').
        success(function(data) {
            $scope.users = data;
        }).error(function(data) {
            console.log("error");
        });

});

app.controller('abcController', function($scope) {
    $scope.info = 'abcController';
});

app.controller('defController', function($scope) {
    $scope.info = 'defController';
});

app.controller('efgsController', function($scope) {
    $scope.info = 'efgsController';
});

</script>

</body>
</html>

这是怎么回事。 G。 efg.html看起来:

<div data-role="main" class="ui-content"  ng-controller="efgsController">
    <h1>VG</h1>
    <p>{{ info }}</p>
</div> 

但是,我收到以下错误:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=myApp&p1=Error%3A%…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)

我究竟做错了什么?我使用过时的方式来实现这个吗?

非常感谢帮助和提示!

3 个答案:

答案 0 :(得分:1)

您必须将角度路线作为单独的文件包含在添加的位置 angular core script标签添加它,或者使用你选择的cdn

  <script src= "https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-route.js"></script>

答案 1 :(得分:1)

必须引用所有模块,因为您要包含ngRoute,所以您需要引用相应的来源。

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>

答案 2 :(得分:1)

你必须包含angular-route.js,这对于你的angular.min.js包含之后的标题部分中1.2.0之后的版本是免费的