[英]How to use services or factories in angularjs
我是angularjs的新手,目前正在從事虛擬購物網站項目的練習。 我對如何將app.js與其他模塊中存在的文件鏈接感到有些困惑。
我正在開發一個登錄模塊,該模塊在loginmodule的相應文件夾中具有自己的LoginController和LoginService。
在LoginService中,我定義了兩個屬性,即isLogged和username。 當用戶使用$ http.post()方法(通過數據庫中的用戶表)成功登錄時,值分別更改為true和username。
我如何確保loginService在整個網站上跨不同模塊可用,以便用戶保持登錄狀態。
提前致謝。
您無需將每個部分都放入自己的模塊中。 您可以為整個應用程序使用一個模塊。 因此,您angular.module('app')
為每個項目調用angular.module('newModuleName', [])
,而是調用angular.module('app')
(不使用[]),它將繼續在您的單個應用程序中添加新組件。
另一個選擇是創建新模塊,例如angular.module('loginModule', [])
,然后將其作為依賴項添加到您的應用程序中,例如angular.module('app', ['loginModule'])
。 至此,您的loginModule
應用程序中的任何服務/工廠現在都可以在您的app
用於$ injection。
但通常,您可能要避免為每個部分制作單獨的模塊,除非該模塊的作用類似於完全不同於其他插件的“插件”(即,不依賴於app
任何功能)。 如果您需要雙向依賴,例如app
需要調用login
,但是login
也需要調用app
,則它們都應在同一應用程序內。
您還應該查看OAuth2身份驗證和JSON Web令牌(JWT),以了解在AngularJS中進行授權的正確方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.