ngStorage
にデータを保存するために使用しようとしていlocalStorage
ます。しかし、私には非常に奇妙な次のエラーが表示されます。
エラー: $injector:unpr 不明なプロバイダー 不明なプロバイダー: $localStorageProviderProvider <- $localStorageProvider
https://docs.angularjs.org/error/ $injector/unpr?p0=$localStorageProviderProvider%20%3C-%20$localStorageProvider
タイプスクリプトも使用しています。これが私のコードです:
app.module.ts:
(() => {
angular.module(App.Config.MODULE_NAME, [
'ngRoute',
'ui.bootstrap',
'ngStorage',
'toastr',
]);
})();
register.controller.ts:
namespace App.Components.Register {
"use strict";
import IUser = App.Interfaces.IUser;
import UserDataService = App.Services.Http.UserDataService;
import IStorageProvider = angular.storage.IStorageProvider;
import ILocationService = angular.ILocationService;
import LogService = App.Services.Util.LogService;
export class RegisterController extends BaseController {
public user: IUser;
public static $inject: string[] = ['$localStorageProvider', '$location', 'LogService', 'UserDataService'];
constructor(private $localStorageProvider: IStorageProvider,
private $location: ILocationService,
private logService: LogService,
private UserDataService: UserDataService) {
super();
}
public submit() {
this.UserDataService.create(this.user).then(
(data) => {
switch (data.status) {
case 1:
this.logService.success("Usuário criado com sucesso.");
this.$localStorageProvider.set("user", this.user);
this.$location.path("/");
break;
case -1:
this.logService.error("Erro na criação do usuário.");
this.user.password = null;
break;
case -2:
this.logService.warning("Nome de usuário já está sendo utilizado.");
this.user.username = null;
this.user.password = null;
break;
case -3:
this.logService.warning("Este e-mail já está sendo utilizado.");
this.user.email = null;
this.user.password = null;
break;
}
},
(error) => {
this.logService.error(error);
this.user.password = null;
}
);
}
}
angular.module(App.Config.MODULE_NAME).controller('RegisterController', RegisterController);
}
私にとって奇妙なことは、$localStorage
代わりに使用$localStorageProvider
してもエラーは発生しませんがget()/set()
、プロバイダーの機能がないことです。
私にとって奇妙な 2 番目のことは、angular によって生成されるエラー メッセージです。
不明なプロバイダー: $localStorageProviderProvider <- $localStorageProvider
その 2 番目のプロバイダーはどこ$localStorageProviderProvider
から来たのですか?
回避策があることはわかっていますが、このエラーが頭に浮かび、問題を発見するまで手放すことはできません。
前もって感謝します。