Angular module only works with inline javascript
我正在学习 Angular,并且仅当所有代码都内联在页面上时,才能将控制器添加到我的模块中。如果我用
“Error: [$injector:unpr]
http://errors.angularjs.org/1.3.11/$injector/unpr?p0=aProvider%20%3C-%20a%20%3C-%20personController
1
2 3 4 5 6 7 8 9 |
var app = angular.module(‘app’, [])
.config([function(injectables){ console.log(‘configuring app’); }]).run([function(injectables){ console.log(‘running app’); }]).controller("personController", function($scope){ $scope.firstName ="John"; $scope.lastName ="Doe"; }); |
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<!DOCTYPE html> <html ng–app="app"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="web/stylesheets/app.css"/> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"> <!– wont work if I include it this way –> <script src="web/js/app.min.js"> <!– but works if I put it in here –> </head> <body> <label>Name:</label> <input type="text" ng–model="yourName" placeholder="Enter a name here"><hr /> Hello {{ yourName }}! <p>My first expression: {{ 5 + 5 }}</p> <div ng–init="names=[ <li ng–repeat="x in names">
<button ng–click="count = count + 1">Click me!</button> |
正如 Claies 在评论中提到的,错误消息看起来像是在尝试为依赖项”a”寻找提供者,这可能是缩小的结果。
如果你喜欢:
1
|
angular.module(..).controller("SomeCtrl", function($scope){});
|
它可能会将
1
|
angular.module(..).controller("SomeCtrl", ["$scope", function($scope){}]);
|
因为字符串不会被缩小,Angular 会知道哪个依赖是哪个。当然,另一种方法是使用 $injector,正如 Claies 也提到的那样。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269192.html