我有一些javascript和html文件:User.js
,index.html
,Door.js
我想使用User.js
文件中的任何函数。
我在功能getUserInfo
文件的user.Js
中呼叫Door.js
doorApplicationLoginPage.service
错误:[$ injector:unpr]未知提供者:UserServiceProvider< - UserService< - PerioMainController
var doorApplicationLoginPage = angular.module("PerioLoginPage", []);
doorApplicationLoginPage.service('UserService', function () {
this.getUserInfo = function () {
alert("getUserInfo");
}
this.reLoginUser = function () {
alert("reLoginUser");
}
});
var doorApplication = angular.module("PerioDoorApplication", []);
doorApplication.controller("PerioMainController", function ($scope, $http, $sce, UserService) {
UserService.getUserInfo();
});
谢谢。
答案 0 :(得分:1)
您正在注入service
未引用的module
。
请参阅:
PerioLoginPage service
中引用了 UserService module
PerioDoorApplication controller
中引用了 PerioMainController module
。
你要么:
答案 1 :(得分:0)
在这种情况下,我可以看到你有两个模块Periodicloginpage和periodicdoorapplication。因此,两个模块中定义了两个服务。因此,您必须将Periodicloginpage作为periodicdoorapplication的依赖项。
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
Long timeStampLong = (Long) map.get("timeStamp");
String timeStamp = getTimeDate(timeStampLong);
arrayList.add(timeStamp);
arrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.list, arrayList);
listView.setAdapter(arrayAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(listener);
答案 2 :(得分:0)
答案 3 :(得分:0)
正如我在评论中所说,至少有两件事要做:
您需要从服务(UserService
)返回要使用的功能:
return{
getUserInfo: getUserInfo,
reLoginUser: reLoginUser
};
您的模块需要引用定义服务的模块:
angular.module('PerioDoorApplication', ['PerioLoginPage']);
在你的PerioMainController&#39;中,一个更好的写作方式是:
doorApplication.controller('PerioMainController', ['$scope', '$http', '$sce', 'UserService',
function($scope, $http, $sce, UserService){
[...]
}
]);