3
bower와 함께 모멘트 라이브러리를 추가했습니다.각도 팩토리에 종속성을 주입하고 종속성에 액세스하십시오.
각 모멘트 작성자의 방법을 따르고 두 스크립트를 index.html 파일과 karma.conf.js 파일에 특정 파일을 포함한 files 옵션과 함께 추가했습니다.
내 app/dateFactory에서 모멘트 객체를 액세스하려면 어떻게해야합니까?
응용 프로그램/dateFactory
'use strict';
angular.module('clientApp', ['angularMoment']).factory('dateFactory', function() {
function dateRange(startDate, endDate) {
}
// Public API here
return {
dateRange: dateRange
}
});
UPDATE => 공장 인스턴스가 정의되어이 코드를 실행!
angular.module('clientApp').factory('dateFactory', function() {
function dateRange(startDate, endDate) {
var bla = moment.format()
return [];
//return Enumerable.range(0, endDate.Subtract(startDate).Days + 1).Select(offset => startDate.AddDays(offset)).toArray();
}
// Public API here
return {
dateRange: dateRange
}
});
UPDATE =>이 코드를 실행하면 팩토리 인스턴스가 정의되지 않았습니다.
angular.module('clientApp', ['angularMoment']).factory('dateFactory', ['moment', function(moment) {
function dateRange(startDate, endDate) {
moment.format() //for example
return [];
//return Enumerable.range(0, endDate.Subtract(startDate).Days + 1).Select(offset => startDate.AddDays(offset)).toArray();
}
// Public API here
return {
dateRange: dateRange
}
}]);
는 방법 그게 전부 공장이 만들어집니다 :
describe('Service: dateFactory', function() {
// load the service's module
beforeEach(module('clientApp'));
// instantiate service
var dateFactory;
beforeEach(inject(function (_dateFactory_) {
dateFactory = _dateFactory_;
}));
it('should do something', function() {
var data = dateFactory.dateRange(new Date(2014,1,1), new Date(2014,1,15));
expect(!!dateFactory).toBe(true);
});
});
Amir 내가 코드를 사용하면 내 factory "dateFactory"인스턴스가 더 이상 생성되지 않고 항상 정의되지 않습니다. 왜 그런지 알아? 위의 업데이트 된 코드를 참조하십시오. – Pascal
오류 : [$ injector : unpr] 알 수없는 공급자 : momentProvider <- moment <- dateFactory – Pascal
코드없이 작동하고 있습니다 ... moment.format()은 정의되지 않았습니다 ... 그리고 두 번째로 제 3 자 스크립트를 삽입 할 수 없습니다. – Pascal