gpt4 book ai didi

javascript - Angularjs - 将服务代码移动到另一个文件

转载 作者:行者123 更新时间:2023-12-03 03:32:23 25 4
gpt4 key购买 nike

我有这样的代码,

<script> 
var MyApp = angular.module("MyApp", ['mc.resizer','chart.js'])
MyApp.controller('Ctrl1', function ($scope, $http,MyService) {
MyService.EnvDetails().then(function success(data){
$scope.httpdata = data;
}, function error(err){
console.log("error found"); return err;
});
});
</script>

并尝试将服务代码保存在另一个文件夹中的另一个 javascript 文件中,例如,

var MyApp = angular.module("MyApp", []);
MyApp.service('MyService', function($http) {
this.EnvDetails = function() {
return $http({
url: '/myurl'
}).then(
function successCallback(response) {
//Some Code
return //Some;
}, function errorCallback(response) {
return response;
}
);
};
});

将此代码保存在“MyService.js”中并将此文件引用为

<script type="text/javascript" src="javascripts/MyService.js"></script>

这给了我错误,

angular.js:11607 Error: [$injector:unpr] Unknown provider: getEnvDetailsServiceProvider <- getEnvDetailsService <- Ctrl1

但是当我将服务代码与 Controller 代码一起放入同一个文件中(除了第一行 var mainApp = angular.module("mainApp", []);) 时,它就可以工作。我一无所知,哪里缺少引用资料。请帮忙。

谢谢

最佳答案

当您保存到另一个文件时,无需再次添加模块化声明,

删除依赖项

//remove this line var MyApp = angular.module("MyApp", []);
MyApp.service('MyService', function($http) {
this.EnvDetails = function() {
return $http({
url: '/myurl'
}).then(
function successCallback(response) {
//Some Code
return //Some;
}, function errorCallback(response) {
return response;
}
);
};
});

关于javascript - Angularjs - 将服务代码移动到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46034100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com