Đây là bản demo của tôi sử dụng anglejs, để tạo tệp dịch vụ và thêm dịch vụ vào bộ điều khiển.
Tôi có hai vấn đề với bản trình diễn của mình:
- Một là khi tôi đặt
<script src="HomeController.js">
trước khi<script src="MyService.js">
gặp lỗi này,
Lỗi: [ng: areq] Đối số 'HomeController' không phải là một hàm, không được xác định
- Cái khác là khi tôi đặt
<script src="MyService.js">
trước khi<script src="HomeController.js">
gặp lỗi sau,
Lỗi: [$ injectionor: unr] Nhà cung cấp không xác định: MyServiceProvider <- MyService
Nguồn của tôi:
Tệp tin 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>
Tệp tin 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);
Tệp tin 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);