为了便于理解,我做了两个例子,其中一个有效,另一个没有。
第一个是html页面内的脚本内容,它运行正常。
<html ng-app>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
</head>
<body>
<input type="text" ng-model="helloAngular" />
<h1>{{helloAngular}}</h1>
</body>
</html>
这是无效的代码部分(在同一个html页面内):
<div ng-app="app">
<p>Try to change the names.</p>
<div ng-controller="personController">
<p>
First Name:
<input type="text" ng-model="firstName" />
</p>
<p>
Last Name:
<input type="text" ng-model="lastName" />
</p>
<p>
Full Name:
{{firstName}} {{lastName}}
</p>
</div>
</div>
这是js文件:
angular.module("app", []).controller("personController", function ($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
编译后看起来像这样:
javascript文件正确包含在html中(我试过$(document).ready())。当然,对于第二个例子,我从html标签中删除了ng-app属性。
还尝试清除cookie和缓存,但没有成功。其他浏览器也会发生同样的事情。
我正在将Angular文件用于其他应用程序功能,而且它们都不再起作用了。当我打开文件并将新控制器添加到现有应用程序模块时,它停止工作。可以肯定的是,我在新的.js文件中尝试了上面的例子,并尝试在所提到的角度文件中注释掉所有以前的角度代码。
编辑1。
好的,我在html中内嵌复制/粘贴角度代码,但仍然没有运气。
<script type="text/javascript">
angular.module("app", []).controller("personController", [$scope, function ($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
}]);
</script>
<div ng-app="app">
<p>Try to change the names.</p>
<div ng-controller="personController">
<p>
First Name:
<input type="text" ng-model="firstName" />
</p>
<p>
Last Name:
<input type="text" ng-model="lastName" />
</p>
<p>
Full Name:
{{firstName}} {{lastName}}
</p>
</div>
</div>
使用@BarouchKandov plunker项目我重新创建了问题,它在plunker项目下工作,但是同一段代码在我的ASP.NET项目中不起作用。
我还尝试删除[$ scope,...]括号