简单的angularjs应用程序,但我得到{{这应该是数据}}

时间:2014-10-20 13:50:18

标签: javascript asp.net-mvc angularjs

最简单的angularjs app

我已经创建了asp.net mvc4应用程序,我从nuget安装了angularjs包。 Layout.cshtml被清除,看起来像这样

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>

    <script src="~/Scripts/angular.js"></script>
    <script src="~/AngularJSApp/main.js"></script>
</head>
<body>
    <div ng-controller="homeController" class="container body-content">
        {{ testData }}
        @RenderBody()
    </div>
</body>
</html>

我创建了main.js,我存储了模块和correspoding控制器,只是简单的一个

var app = angular.module("myApp");

app.controller('homeController', ['$scope', function ($scope) {
    $scope.testData = "this is test data";
}]);

我从_Layout.cshtml中重复检查了文件引用(两个.js文件都已加载)

但在渲染页面上,我得到{{ testData }}而不是实际数据。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

如果您声明模块,则应使用:

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

这种表示法:

var app = angular.module("myApp");
稍后可以使用

来检索该模块并将内容附加到其中

您需要的其他模块越多,您就可以将它们注入该数组中,例如

var app = angular.module("myApp", ['ui.router']);

答案 1 :(得分:1)

在main.js中试试这个

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

您缺少module方法的第二个参数

Angular module reference