【发布时间】:2023-03-10 22:00:01
【问题描述】:
我使用 AngularJS 已经有一段时间了,这个特定的代码块无论如何都不难,但它不起作用,我在这里肯定缺少一些非常简单的东西:
<!DOCTYPE html>
<html data-ng-app="">
<head>
<title>Simple ngRepeat with Data-Binding</title>
</head>
<body>
<div data-ng-controller="SimpleController">
Name
<br />
<input type="text" data-ng-model="name" />
<br />
<ul>
<li data-ng-repeat="cust in customers | filter:name | orderBy:'city'">
{{ cust.name }} ({{ cust.city | uppercase }})
</li>
</ul>
</div>
<script type="text/javascript">
function SimpleController($scope) {
$scope.customers = [
{name: 'Bob', city: 'Atlanta'},
{name: 'James', city: 'Orlando'},
{name: 'Miles', city: 'Harlem'},
{name: 'Carter', city: 'San Francisco'}
];
}
</script>
<script src="angular.min.js"></script>
</body>
</html>
截至目前,此代码会生成一个空白页。应该有一个包含四条记录的无序列表,例如,在输入框中键入“Bob”应将记录过滤到唯一包含名称“Bob”的记录。
当 AngularJS 代码是内联的并且没有控制器时,这个演示已经可以工作了。我使用 ngInit 来提供客户数组。当我试图将客户放在他们自己的控制器中时,我开始收到一个空白页。
我确定我只需要第二双眼睛来查看这个非常简单的示例。
感谢您提供的任何帮助。
【问题讨论】:
-
你能发布你的javascript代码吗?顺便说一句,你应该声明你的
ng-app -
从
data-ng-controller中删除data。ng-controller就足够了。 -
这是您的实际代码吗?因为它不是控制器的有效角度语法(如果 js 的 sn-p 是您的所有角度代码)
-
您缺少角度引导功能
-
@Hardik Vaghani - data-ng-controller 或 ng-controller 是相同的,除了前缀 data- 将允许 HTML 通过验证。
标签: angularjs angularjs-ng-repeat angularjs-controller angular-ngmodel