这不是显示数据,我正在学习有关控制器的信息。为什么它在我正在观看的视频中显示数据时却不显示数据。
<div data-ng-controller="FirstController">
<input type="text" name="txtName" data-ng-model="typedName" />
<br />
Typed Name is: {{ typedName }}
<br />
Names:
<ul >
<li data-ng-repeat="person in Customers | orderBy:'name' | filter:typedName "> {{ person.name | uppercase}} - {{ person.city }}
</li>
</ul>
</div>
<script>
function FirstController($scope) {
$scope.Customers = [
{ name: 'Sita', city: 'Los Angeles' },
{ name: 'Ram', city: 'Los Vegas' },
{ name: 'Amit', city: 'San Antonio' },
{ name: 'Cat', city: 'Arkanas' },
{ name: 'Boushick', city: 'Pittsburgh' }
];
}
</script>
<script src="Scripts/angular.min.js"></script>
看起来您正在跟踪较旧的视频,而这些视频可能使用的是Angle 1.2。
在最新版本的angular中,必须指定特定的应用名称并在这些模块下声明控制器。虽然您可以通过激活全局控制器功能,config
但不建议这样做。
因此,您需要进行以下更改:
在您的HTML中,
<html data-ng-app="myApp">
现在在您的JS控制器中:
angular.module("myApp", [])
.controller("ControllerName", function($scope) {
// declare your $scope data here
})
为什么不赞成使用全局控制器功能?
当您全局声明控制器功能时,它将污染全局名称空间。假设还有另一个使用相同函数名的库,那么您的函数将被覆盖。
例如,
您SimpleController
的文件中有功能。假设您正在使用某些第三方库,它们在某些功能上也使用相同的名称。
他们设置,
window.SimpleController = window.alert
因此,这意味着您的控制器功能已被覆盖。
这就是为什么不推荐使用的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句