นี่คือการสาธิตของฉันโดยใช้ angularjs สำหรับสร้างไฟล์บริการและเพิ่มบริการให้กับคอนโทรลเลอร์
ฉันมีปัญหาสองประการกับการสาธิตของฉัน:
- หนึ่งคือเมื่อฉันใส่
<script src="HomeController.js">
ก่อนที่จะ<script src="MyService.js">
ได้รับข้อผิดพลาดนี้
ข้อผิดพลาด: [ng: areq] อาร์กิวเมนต์ 'HomeController' ไม่ใช่ฟังก์ชันไม่ได้กำหนด
- อีกอย่างคือเมื่อฉันใส่
<script src="MyService.js">
ก่อนที่จะ<script src="HomeController.js">
ได้รับข้อผิดพลาดต่อไปนี้
ข้อผิดพลาด: [$ injector: unpr] ผู้ให้บริการที่ไม่รู้จัก: MyServiceProvider <- MyService
แหล่งที่มาของฉัน:
ไฟล์Index.html
:
<!DOCTYPE html>
<html >
<head lang="en">…</head>
<body ng-app="myApp">
…
<div ng-controller="HomeController">
<div ng-repeat="item in hello">{{item.id + item.name}}</div>
</div>
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-route.js"></script>
<!-- App libs -->
<script src="app/app.js"></script>
<script src="app/services/MyService.js"></script>
<script src="app/controllers/HomeController.js"></script>
</body>
</html>
ไฟล์HomeController.js
:
(function(angular){
'use strict';
var myApp = angular.module('myApp',[]);
myApp.controller('HomeController',function($scope,MyService){
$scope.hello=[];
$scope.hello = MyService.getHello();
});
})(window.angular);
ไฟล์MyService.js
:
(function(angular){
'use strict';
var myApp = angular.module('myApp',[]);
myApp.service('MyService', function () {
var hello =[ {id:1,name:'cuong'},
{id:2,name:'nguyen'}];
this.getHello = function(){
return hello;
};
});
})(window.angular);