0

我从 Angular 开始,但遇到了一个令我困惑的奇怪问题。

我有简单的 html 和 js,如下所示。如果我将 angular.js 文件链接添加为 BODY 中的最后一行(如文档中所建议的那样),则绑定由于某种原因而失败。同样,如果我在 HEAD 中链接自定义 javascript 文件,则绑定失败。我确信我在这里遗漏了一些非常基本的东西。无法弄清楚是什么。:

文件:

<!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>

基本过滤器.JS 文件

var myapp = angular.module('myapp', [])
4

2 回答 2

2

尝试将您的声明移动到 html 标记:

<html lang="en" ng-app="myapp" xmlns:ng="http://angularjs.org">
<head>[...]
于 2013-09-19T13:08:54.293 回答
0

我也有同样的问题,太残忍了。然后我请工作中的开发人员提供帮助,当我向他展示这个问题时,它开始工作......

无论如何,他向我展示的一件事是控制器应该在与 myApp 相关联的 .controller 内部,而不是在全局范围内。

所以而不是:

function MyController1($scope) {
    $scope.data = { message: "Hello World" };
}

将其放在 .controller 中:

myApp.controller('MyController1', ['$scope', function($scope) {
        $scope.data = { message: "Hello World" };
    }
]);

您可以在此处阅读有关此内容的更多信息。

于 2014-06-12T15:42:45.443 回答