我有以下代码:
app.factory('Position', ['$timeout', function() {
var position = {
latitude: 44,
longitude: 26
};
console.log("Timeout started");
$timeout(function() {
position.latitude += 15;
position.longitude += 15;
}, 2000);
return position;
}]);
我在Javascript控制台中获得了$timeout not defined
。我没有正确地注入服务的依赖吗?
答案 0 :(得分:88)
你没有注射$timeout
。它应该如下。
app.factory('Position', ['$timeout', function($timeout) {
...
}]);
声明这种方式可确保在JavaScript代码缩小时正确识别服务。有关如何帮助缩小的更多信息,请参阅A Note on Minification和Declaring AngularJS Modules For Minification
如果您的计划中没有缩小(例如快速测试),您可以直接使用
app.factory('Position', function($timeout) {
...
});