gpt4 book ai didi

javascript - 在两个不同的模块和两个不同的js文件之间共享服务

转载 作者:搜寻专家 更新时间:2023-10-31 23:53:04 25 4
gpt4 key购买 nike

我检查了很多问题,但没有人清楚地给出使用不同 js 文件的示例。我正在研究 angular js,但我遇到了以下问题。问题是,我想调用不同 js 文件中具有不同模块的函数。现在我创建“服务”,它处理两个模块和两个函数,这是我的代码,

first.js 中的第一个模块

var TaskAPP = angular.module('TaskApp', []);
TaskAPP.factory("TestService", function () {
var users = ["ad", "bf", "tt"];
return {
all: function () {
return users;
},
first: function () {
return users[0];
}
};
});

second.js 中的第二个模块

var LabAPP = angular.module('LabApp', ['TaskApp', 'TestService']);
LabAPP.controller("LabController", function ($scope, TestService) {
$scope.aa = TestService.first();
});

但是在这个页面上,发生了错误 Error: $injector:modulerr模块错误谁能帮忙?

最佳答案

您的TestService 是在TaskAPP 上定义的,这就是它不能在LabApp 中使用的原因。解决方案是为服务创建一个模块,您希望跨模块共享。

例如,创建一个模块来保存可共享的服务:

angular.module('SharedServices', [])
.service('TestService', function(){
// code
}

然后将 SharedServices 模块注入(inject)到您要从中访问服务的任何模块中:

angular.module('TaskAPP', ['SharedServices'])

然后使用 SharedServices.TestService.fooMethod() 访问您想要的服务

关于javascript - 在两个不同的模块和两个不同的js文件之间共享服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35299247/

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