Jakie jest najlepsze miejsce do przechowywania ustawień konfiguracji aplikacji w AngularJS? Mogą to być stałe aplikacji, wyszukiwania itp., Które mogą być używane zarówno przez kontrolerów, jak i serwisy lub fabryki. Mógłbym stworzyć oddzielną usługę, która przechowuje i pobiera te rzeczy, ale zastanawiałem się, czy istnieje inne właściwe miejsce do ich przechowywania i odzyskiwania.Przechowywanie ustawień konfiguracji aplikacji
Odpowiedz
Można używać dostawcy constant()!
app.constant('myAppConfig', {ver: '1.2.2', bananas: 6, hammocks: 3, bananaHammocks: true});
Nie różni się to zbytnio od rozwiązania Terry'ego, ale stałe nie zmieniają się, więc są stosowane przed innymi dostawcami. Ponadto moduł ten można wprowadzić do funkcji konfiguracyjnej.
app.config(function(myAppConfig){
console.log(myAppConfig.bananaHammocks);
});
baw
Nie wiem, czy istnieje „najlepszy sposób”, ale ja osobiście skorzystać z usługi, o to w skrócie przykład:
angular.module('myApp').factory('AppSettings', function() {
return {
language: 'en'
}
});
angular.module('myApp').controller('myController', ['AppSettings',
function(AppSettings) {
$scope.language = AppSettings.language;
}
]);
Hi Terry, jestem noobem ogółem kanciasty. Mam mój plik myApp.js. Zakładam, że tam jest, ale nie jestem pewien, czy dostanę ustawienie. Jak uzyskać wartość języka ?. Dzięki Mark – mark1234
Dodaj to mieć dostęp do zmiennej globalnej
app.run(function ($rootScope) {
$rootScope.globalVariable = 'Amadou'; //global variable
});
Teraz, jeśli chcesz używać go z kontrolerem
function appNameCtrl($scope, $rootScope){
$rootScope.globalVariable = 'Modji';
}
W przeglądać
My name is {{globalVariable}}
Należy unikać wszelkiego rodzaju globali, zwłaszcza gdy są zmiennymi. Konfiguracje są stałymi. – Ashesh
Dlaczego konfiguracje powinny być stałe? Co mam zrobić, jeśli mam konfigurację językową, którą chcę zastosować do wszystkich wywołań interfejsu API do określonego punktu końcowego? – mameluc
@mameluc Następnie użyj usług, a nie zmiennych globalnych. – Styx
Można również użyć provider
zamiast service
i wszędzie można go łatwo używać.
angular.module('App', []).provider('config',
function() {
var conf = {
ver: '1.2.2',
bananas: 6,
hammocks: 3,
bananaHammocks: true,
baseUrl:'data/'
};
conf.$get = function() {
delete conf.$get;
return conf;
};
return conf;
});
Następnie użyj w config jak configProvider
:
angular.module('App').config(function(configProvider) {});
W biegu, sterowników, usług, ect jako config
:
angular.module('App').run(function(config) {});
Definicja:
angular.module('starter.config', [])
.constant('appConfig', {
'backend': 'http://localhost:3000/v1'
});
Zastosowanie:
angular.module('starter.services', ['starter.config'])
.factory('Locations', function(appConfig, $http) {
return {
all: function(successCb, errorCb) {
$http.get(appConfig.backend + '/locations.json')
.success(successCb)
.error(errorCb);
},
get: function(locationId, successCb, errorCb) {
$http.get(appConfig.backend + '/locations/'+ locationId +'.json')
.success(successCb)
.error(errorCb);
}
};
})
, więc za każdym razem, gdy potrzebujesz jakiegoś ustawienia, musisz wysłać zapytanie http i/lub przechowywać to, co masz gdzie indziej? wydaje się naprawdę nieskuteczne – Senthe
- 1. Przechowywanie ustawień aplikacji w języku C#
- 2. Przechowywanie prostych ustawień użytkownika w Pythonie
- 3. Przechowywanie konfiguracji git jako części repozytorium
- 4. Gdzie powinienem przechowywać ustawienia konfiguracji witryny dla aplikacji Rails?
- 5. Obecny system konfiguracji nie obsługuje ustawień o zakresie użytkownika
- 6. Zmiana ustawień aplikacji podczas pracy
- 7. Pakiet ustawień dla aplikacji iPhone'a
- 8. Implementacja "luki telefonicznej" "ustawień aplikacji"
- 9. Zmiana nazwy pliku konfiguracji aplikacji .NET
- 10. Przechowywanie i edytowanie aplikacji, ustawień użytkownika i niestandardowych w aplikacjach pulpitu
- 11. Przechowywanie ustawień usługi C# w Windows i Mono
- 12. Zgłaszanie aplikacji niedokładne Użycie/przechowywanie
- 13. Właściwe przechowywanie zakupu w aplikacji
- 14. Dodawanie ustawień do ustawień
- 15. Korzystanie z automatycznej konfiguracji proxy z ustawień IE w .Net
- 16. Zapisywanie ustawień Menedżera konfiguracji programu Visual Studio Lokalnie
- 17. Przechowywanie konfiguracji nazewnictwa gałęzi git-flow w repozytorium
- 18. Czy dobrą praktyką jest przechowywanie konfiguracji wtyczki jquery w danych?
- 19. przy użyciu właściwości Ustawienia dla ustawień aplikacji
- 20. Zapisywanie ustawień aplikacji qt przy użyciu QSettings
- 21. Jak uzyskać wartość z aplikacji ustawień?
- 22. Zapisywanie ustawień aplikacji na telefon iPhone w aplikacji
- 23. Przechowywanie danych w aplikacji Google App Engine
- 24. Symulowanie Windows 8 Przechowywanie kupowanych aplikacji
- 25. Przechowywanie UserPreferences za pomocą aplikacji Native React
- 26. Windows 8 Przechowywanie aplikacji jako oprogramowania korporacyjnego
- 27. Najlepszy sposób zarządzania ustawieniami konfiguracji aplikacji Railsy w bazie danych?
- 28. Błąd konfiguracji Fluktuacji Nhibernate w aplikacji wielowątkowej
- 29. Prawidłowy sposób dostępu do konfiguracji bieżącej aplikacji
- 30. Używanie konfiguracji Log4J aplikacji pod JBoss 7.1.1
Doskonale, dzięki. Tak, zastanawiałem się, czy było w tym coś konkretnego. – govin
bannanaHammocks ... HA !! – threejeez
tylko dla informacji, możesz ** zmienić ** wartości ** wewnątrz stałej **, jeśli stała to ** obiekt **, jak w powyższym przykładzie. Czytaj dalej [tutaj] (http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/) –