javascript - AngularJS 路由包括多个 JS 文件和目录

标签 javascript angularjs routes ngroute ng-view

我对 Angular 还很陌生,并且在路由方面遇到了问题,我设置得很简单,但它仍然无法正常工作。

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
    <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css" />


</head>
<body ng-app="app">
<div>{{1+1}}
    <ng-view>Loading...</ng-view>
</div>

<script type="text/javascript" src="bower_components/angular/angular.js"></script>
<script type="text/javascript" src="bower_components/angular-resource/angular-resource.min.js"></script>
<script type="text/javascript" src="bower_components/angular-route/angular-route.js"></script>
<script type="text/javascript" src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script></script>

<script type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="components/billing/billing.js"></script>

<script>

</script>
</body>
</html>

app.js:

'use strict';

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

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/billing', {templateUrl: 'components/billing/billing.html',   controller: BillingCtrl})
        .otherwise({redirectTo: '/billing'});
}]);

组件/计费/billing.js:

'use strict';

var billing = angular.module('billing', []);

billing.controller('BillingCtrl', [function($scope) {
        var model = {
            user: "Adam",
            items: [{ action: "Buy Flowers", done: false },
                { action: "Get Shoes", done: false },
                { action: "Collect Tickets", done: true },
                { action: "Call Joe", done: false }]
        };

        $scope.todo = model;
}]);

组件/计费/billing.html:

<div>Hello world {{todo.user}}</div>

根据我的阅读,它应该在 ng-view 中包含 billing.html,因为它是默认路由。但我得到的只是“正在加载...”。

非常感谢任何帮助!

最佳答案

当您为路由指定 Controller 时,它应该是 Controller 的名称(作为字符串),而不是对 Controller 函数的引用。

$routeProvider
    .when('/billing', {
       templateUrl: 'components/billing/billing.html',
       controller: "BillingCtrl"
    })

(请注意 BillingCtrl 周围的引号)

关于javascript - AngularJS 路由包括多个 JS 文件和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131447/

相关文章:

javascript - 删除 angularjs 中传入 url 的 hashbang

javascript - 尝试压缩当鼠标悬停在文本上时淡化图像转换的脚本

javascript - 输入错误的尺寸

javascript - Dymo JavaScript 打印条形码位置

javascript - 如何从数组创建下拉列表,排除某个选项 - AngularJs

angularjs - 收到错误 : $sce:insecurl

node.js - 带斜杠的 ExpressJS 路由参数

node.js - Node/Express 和部署的 Angular 中的路由不起作用

javascript - 尝试让自动完成列表出现在图表顶部

php - 路由冲突 Laravel