AngularJS不显示模板

时间:2015-02-05 15:11:15

标签: javascript angularjs

我开始学习AngularJS,所以我创建了两个html页面:

的index.html

<!DOCTYPE html>
<html ng-app="TodoApp" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script src="Scripts/jquery-1.10.2.js"></script>
        <script src="Scripts/bootstrap.js"></script>
        <script src="Scripts/angular.js"></script>
        <script src="Scripts/angular-resource.js"></script>
        <link href="Content/bootstrap.css" rel="stylesheet" />
        <script src="Scripts/app.js"></script>
        <title>Angular Tutorial</title>
    </head>

    <body>
        <div class="container">
               <div ng-view></div>
        </div>
    </body>

</html>

和list.html

<input type="text" ng-model="test">
<h1>Hello: {{test}}</h1>

app.js看起来像这样

var TodoApp = angular.module("TodoApp", ["ngResource"]).
    config(function ($routeProvider) {
        $routeProvider.
            when('/', { controller: ListCtrl, templateUrl: "list.html" }).
            otherwise({ redirectTo: '/' });
    });


var ListCtrl = function ($scope, $location)
{
    $scope.test = "testing";        
};

不幸的是,当我打开index.html页面时,它是空白的。可能是问题的原因是什么?

4 个答案:

答案 0 :(得分:5)

正如您提到的错误: -

1)在主页面中添加angular-route.js文件。

2)在angular main app中添加'ngRoute'依赖项。

文档: - https://docs.angularjs.org/tutorial/step_07

答案 1 :(得分:1)

您还需要在HTML中提及ng-controller="ListCtrl"的控制器来初始化它。

并且不要那样声明你的控制器,你必须这样做

todoApp.controller('ListCtrl', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {

  $scope.test = "testing";

}]);

答案 2 :(得分:0)

您似乎错过了控制器的定义:

TodoApp.controller('ListCtrl', ListCtrl);

这应该可以解决您的问题

答案 3 :(得分:0)

你也可以看看自耕农。它将帮助您在零时间内从angularjs开始。

http://yeoman.io/codelab.html

相关问题