Angular JS + Asp.Net MVC基本示例; Angular没有被提及

时间:2016-06-18 18:36:25

标签: javascript angularjs asp.net-mvc

我知道这是基本问题,我试图找到一种解决方法,但它确实有效。但我想知道我在这里失踪了什么。

我已经使用Asp.Net MVC和angular创建了一个示例应用程序,只是尝试从角度显示硬编码文本到MVC视图并且不显示。我想这会发生,因为它无法找到angular.js参考。我试图查看源代码,可以找到参考。

在后一种情况下,我提供了Angular.js文件的完整路径及其工作正常。

代码: BundleConfig.cs

    bundles.Add(new ScriptBundle("~/bundles/AMV_Angular1")
            .IncludeDirectory("~/Scripts/Controllers","*.js")
            .Include("~/Scripts/AMV_Angular1.js",
            "~/Scripts/Angular.js"));

Index.cshtml

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <title ng-bind="helloAngular"></title>
</head>
<body ng-controller="cnt">

    <input type="text" ng-model="helloAngular" />
    <h1>{{helloAngular}}</h1>

    @Scripts.Render("~/bundles/AMV_Angular1")
</body>
</html>

Javascript文件

(function () {
    var myApp = angular.module('myApp', []);

    myApp.controller("cnt", function ($scope) {
        $scope.helloAngular = "this is from Angular";
    });

}());

以下以HTML格式输出,呈现HTML的来源

enter image description here 以下是我的目录结构

enter image description here

1 个答案:

答案 0 :(得分:2)

看起来您正在以错误的顺序加载脚本。 Angular.js应该在你的控制器之前加载,因为它们依赖于angular.js。

尝试首先在捆绑中添加它:

bundles.Add(new ScriptBundle("~/bundles/AMV_Angular_source")
            .Include("~/Scripts/Angular.js"));

 bundles.Add(new ScriptBundle("~/bundles/AMV_Angular1")
            .IncludeDirectory("~/Scripts/Controllers","*.js")
            .Include("~/Scripts/AMV_Angular1.js"));