3
我已經添加了bower角角庫。將一個依賴關係注入到一個角度工廠並訪問該依賴關係
我遵循了角度作者的操作方法,並將兩個腳本添加到我的index.html文件和包含特定文件的files選項的karma.conf.js文件中。
如何在我的應用程序/ 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);
});
});
埃米爾當我使用你的代碼,那麼我的工廠「dateFactory」實例不再創建它的總是未定義的。你知道爲什麼?請參閱上面我更新的代碼。 – Pascal
我也得到這個錯誤:錯誤:[$ injector:unpr]未知的提供者:momentProvider < - moment < - dateFactory – Pascal
我沒有你的代碼,現在它工作了... moment.format()未定義...和第二個你不能注入第三方腳本,只有在我發現了requireJS的情況下。 – Pascal