gpt4 book ai didi

angularjs - Angular Controller 声明

转载 作者:行者123 更新时间:2023-12-02 06:58:37 25 4
gpt4 key购买 nike

我在读书

https://www.syncfusion.com/resources/techportal/ebooks/angularjs

本书中关于 Controller 基本用法的第三个示例对我不起作用:

JS:

function MyCtrl($scope) {
$scope.visible = true;
$scope.toggle = function() { $scope.visible = !$scope.visible; };
};

HTML:

<html>
<head>
<script src="scripts/vendor/angular/angular.min.js"></script>
<script src="scripts/controllers/app.js"></script>
</head>
<body ng-app>
<div ng-controller="MyCtrl"> <button ng-click="toggle()">Toggle</button>
<p ng-show="visible">Hello World!</p>
</div>
</body>
</html>

错误:

[ng:areq] http://errors.angularjs.org/1.3.0-rc.4/ng/areq?p0=MyCtrl&p1=not%20a%20function%2C%20got%20undefined

Angular 对 Controller 不满意,想知道我是否使用正确或者这本书已经过时了?在 Angular 网站上,我看到了更复杂的 Controller 声明示例。

最佳答案

从一个版本(当然是 1.3.0-x)开始,Angular 要求您明确允许将 Controller 声明为全局函数。参见 the docs for the $controllerProvider .

allowGlobals();

If called, allows $controller to find controller constructors on window

因此,您的解决方案是:

angular.module("...", []).config(["$controllerProvider", function($controllerProvider) {
$controllerProvider.allowGlobals();
}]);

上面的模块必须被调用,所以它要么是你的主模块,要么你的主模块应该依赖它。

关于angularjs - Angular Controller 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26160015/

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