0

index.html(布局页面):

<!DOCTYPE html>
<html data-ng-app="web">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script src="js/jquery.min.js"></script> <!-- v2.1.1 -->
    <script src="js/angular.min.js"></script> <!-- v1.2.24 -->
    <script src="js/angular-route.min.js"></script> <!-- v1.2.24 -->
    <script type="text/javascript">
    var web = angular.module("web", ['ngRoute']);
    web.config(function($routeProvider) {
        $routeProvider.when('/', {
            templateUrl: 'page1.html'
        }).otherwise({
            redirectTo: '/'
        });
    });
    </script>
</head>
<body data-ng-view>
</body>
</html>

page1.html(子页面):

<script type="text/javascript">
function myController($scope) {
    $scope.foo='foo';
}
</script>

<div data-ng-controller="myController">
    {{foo}}
</div>

如果您从主页 (index.html) 中删除 jQuery,则 angular-route 无法找到控制器 (myController)。谁能告诉我这是一个错误还是我做错了什么?

我正在使用 angular.min.js v1.2.24、angular-route.min.js v1.2.24 和 jquery.min.js v2.1.1。

4

1 回答 1

0

如果这行得通,你可以试试吗?(未测试)

索引.html

<!DOCTYPE html>
<html data-ng-app="web">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script src="js/angular.min.js"></script> <!-- v1.2.24 -->
    <script src="js/angular-route.min.js"></script> <!-- v1.2.24 -->
    <script type="text/javascript">
    var web = angular.module("web", ['ngRoute']);
    web.controller('myController', function($scope) {
        $scope.foo='foo';
    });
    web.config(function($routeProvider) {
        $routeProvider.when('/', {
            templateUrl: 'page1.html',
            controller: 'myController'
        }).otherwise({
            redirectTo: '/'
        });
    });
    </script>
</head>
<body data-ng-view>
</body>
</html>

page1.html

<div>
    {{foo}}
</div>

参考:https://docs.angularjs.org/api/ngRoute/service/ $route

于 2014-09-21T07:49:42.350 回答