2017-03-31 63 views
0

我有一些JavaScript和HTML文件:User.jsindex.htmlDoor.js呼叫角度服務於另一個JS文件

我想在User.js文件中使用任何功能。

我在功能 doorApplicationLoginPage.service

Error: [$injector:unpr] Unknown provider: UserServiceProvider <- UserService <- PerioMainController

調用 getUserInfouser.JsDoor.js文件

謝謝。

回答

1

您正在注射未參考您的moduleservice

參見:

UserServiceservice引用PerioLoginPagemodulePerioMainControllercontroller被引用PerioDoorApplicationmodule

你必須要麼:

  1. 參考同一模塊作爲控制器的服務。
  2. 注入模塊服務被引用到引用控制器的模塊。
+1

我不同意,他可以使用從其他模塊的「依賴」 – Groben

+0

你是對的。如果他將服務引用到引用控制器的模塊,則可能會發生這種情況。謝謝回覆。我正在編輯右前方。 – Korte

0

在這種情況下,我可以看到你有兩個模塊Periodicloginpage和periodicdoorapplication。所以兩個服務在兩個模塊中定義。所以你必須把Periodicloginpage作爲periodicdoorapplication的依賴。

var doorApplication = angular.module("PerioDoorApplication", ["PerioLoginPage"]); 
0

My login js file

My door js file

我想用在user.js的 「getUserInfo」 功能,從「門。JS」的任何功能

+0

首先你需要從服務返回函數返回{getUserInfo:getUserInfo,reLoginUser:reLoginUser}; – Groben

+0

秒:你的模塊需要引用服務定義的模塊:angular.module('PerioDoorApplication',['PerioLoginPage']); – Groben

+0

OMG ..非常感謝... 它完成了.. – tuncgulec

0

正如我在評論說你有兩兩件事要做至少:

您需要返回要從服務使用的功能(UserService):

return{ 
    getUserInfo: getUserInfo, 
    reLoginUser: reLoginUser 
}; 

你的模塊需要引用服務上定義的一個:

angular.module('PerioDoorApplication', ['PerioLoginPage']); 

而在你的「PerioMainController」,一個更好的方式來寫這將是:

doorApplication.controller('PerioMainController', ['$scope', '$http', '$sce', 'UserService', 
    function($scope, $http, $sce, UserService){ 
     [...] 
    } 
]);