我是从Angular开始的,我遇到了一个令我困惑的奇怪问题。
我有简单的html和js,如下所示。如果我将angular.js文件链接添加为BODY中的最后一行(如文档中所建议的那样),则由于某种原因绑定失败。同样,如果我在HEAD中链接自定义javascript文件,则绑定失败。我相信我在这里遗漏了一些非常基本的东西。虽然无法弄清楚:
HTML文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"
>
<html lang="en">
<head>
<title>Angular Binding</title>
<link rel="stylesheet" href="../Foundation/css/foundation.min.css">
<script type="text/javascript" src="../JS/angular.js"></script>
</head>
<body>
<div ng-app="myapp">
<input type="text" ng-model="data.message">
{{data.message}}
</div>
<script type="text/javascript" src="BasicFilters.js"></script>
</body>
</html>
BASICFILTERS.JS文件
var myapp = angular.module('myapp', [])
答案 0 :(得分:2)
尝试将您的声明移至html标记:
<html lang="en" ng-app="myapp" xmlns:ng="http://angularjs.org">
<head>[...]
答案 1 :(得分:0)
我有同样的问题,是如此残酷。然后我请工作的开发人员帮忙,当我向他展示这个问题时,它开始工作......
无论如何,他告诉我的一件事是控制器应该在一个与myApp绑定的控制器内,而不是在全局范围内。
所以而不是:
function MyController1($scope) {
$scope.data = { message: "Hello World" };
}
将它放在.controller中:
myApp.controller('MyController1', ['$scope', function($scope) {
$scope.data = { message: "Hello World" };
}
]);
您可以阅读有关此here的更多信息。