簡體   English   中英

如何在angularjs中使用服務或工廠

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM