我知道这是基本问题,我试图找到一种解决方法,但它确实有效。但我想知道我在这里失踪了什么。
我已经使用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的来源
答案 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"));