我在VS.NET 2013中创建了一个新的asp.net MVC应用程序。在_Layout.cshtml中,我引用了angularjs库(Google开发者网站)。我还定义了一个名为" con1"并创建一个变量。
_Layout.cshtml:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
<script type="text/javascript">
function con1($scope) {
$scope.somestring = "some string";
}
</script>
Index.cshtml:
<div>
{{1+1}}
</div>
以上工作正常并呈现&#34; 2&#34;。
的结果当我将div更改为以下内容并开始尝试访问控制器中的 somestring 变量时,我得到实际的AnguarJS代码而不是结果。
<div ng-controller="con1">
{{1+1}}
</div>
输出:&#34; {{1 + 1}}&#34;
知道为什么添加控制器引用会破坏它吗?这似乎是VS.NET特有的。我有一个jsfiddle在这里工作正常:http://jsfiddle.net/jpswdzxu/。这基本上是VS.NET项目的输出。
答案 0 :(得分:1)
您需要定义Angular应用程序,否则它将无法工作:
<script type="text/javascript">
var myApp = angular.module('myApp',[])
.controller('myAppCtrl', function($scope) {
$scope.somestring = 'teststring';
});
</script>
然后,HTML应为:
<body ng-app="myApp">
<div ng-controller="myAppCtrl">
{{somestring}}
</div>
</body>
或者,使用你的jsfiddle,它将是:
<div ng-app="myApp" ng-controller="myAppController">
{{1+1}}
<br>
{{somestring}}
</div>
和
angular.module('myApp',[])
.controller('myAppController', function ($scope) {
$scope.somestring = "some string";
});
祝你好运!