gpt4 book ai didi

javascript - AngularJS - 创建 Controller 之间的区别

转载 作者:行者123 更新时间:2023-11-28 11:23:39 26 4
gpt4 key购买 nike

我是 AngularJS 新手。当我创建 Controller 时,我看到了两个示例,它们展示了如何以不同的方式进行操作。然而,大多数人展示的方法却行不通。

第一个的问题是它要么找不到模块,要么找不到函数。最终结果是 {{type}} {{name}}。如果我尝试使用 plnkr 那么第一个就可以了。

'dataControl' is not a function, got undefined

我遇到的错误是

如果我的 html 是这样的。

<html ng-app>
<head>

</head>


<body ng-app="docsBindExample">

<script src="../bower_components/angular/angular.min.js"> </script>
<script src="../scripts/controllers/main.js"></script>


<div ng-controller="dataControl">

<select id="selected" ng-model="type">
<option>Total Revenue</option>
<option>Total Expenditure</option>
<option>Total Number of Events</option>
<option>Amount of Mail</option>
<option>Average Delivery Times</option>
<option>Critical Routes</option>

</select>

{{type}}
{{data}}

<ul>
<li ng-repeat="values in data">
{{values.dataName}}
{{values.dataValue}}
</li>
</ul>

</div>
</body>
</html>

然后第一个 Controller 不起作用。

angular.module('docsBindExample', [])
.controller('dataControl', ['$scope', function($scope) {


$scope.name = 'Value Is here';
}]);

其次,另一个可以工作的 Controller

function dataControl ($scope) {


$scope.name = 'Value Is here';
}

使用第二个有什么缺点吗?

最佳答案

使用第二种方法不存在任何此类缺点。然而,第一种方法对于大型应用程序来说非常方便,因为您将定义模块并针对模块注册 Controller 、过滤器等。您的第一种方法不起作用的原因可能是您尚未定义 docsBindExample 模块。尝试这样做:

var docsBindExample = angular.module('docsBindExample', []);

然后是你的 Controller 定义。

关于javascript - AngularJS - 创建 Controller 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23421085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com