[解決済み] ngInject'を本当に書く必要があるのか?
2022-03-03 09:47:10
質問
現在、コンポーネントベースのアーキテクチャに準拠するようにコードをリファクタリングしています(Angularへのさらなる移行のため)。
本当に
'ngInject'
文字列と
$inject
を最後に書いてください。
現在の私のコードでは
ng-annotate
をgulpと一緒に使うことで、minificationのための依存性注入をすべて処理しているように見えます。
class SecuritySettingsCtrl {
constructor($scope) {
'ngInject';
_self = this;
_self.$onInit = function () {
//....
}
};
}
SecuritySettingsCtrl.$inject = ['$scope'];
export default SecuritySettingsCtrl
解決方法は?
ngInject」(正しく設定され、機能している場合)または「.$inject = ...」のいずれかが必要です。 または、エクスポートデフォルト ['$scope', ...] です。
一般的なJavaScriptのミニフィアは、Angularについて何も知らない。そのため、次のようなミニファイを行います。
function ctrl($scope) { $scope.name = 'test'}
を次のように変更します。
function c(a) { a.name = 'test'}
ng-anotate や angularjs-annotate など、好きなプラグインを追加して動作した場合、そのプラグインに
ctrl.$inject = ['$scope']
があるので、それを使ってください。
function c(a) { a.name = 'test'}
c.$inject = ['$scope']
minifiedされたアプリが動作する場合 - ngInject(または他の何か)を正しく設定したことになります。
追伸:「ngInject」と手動インジェクションを併用する場合
SecuritySettingsCtrl.$inject
勿論、意味はありません。
minifyされたjsファイル、テスト、実際のアプリで手動で確認することができます。
関連
-
[解決済み] angularJSのSTATEを理解する
-
[解決済み] 方法 $state.go()
-
[解決済み] angularのpostリクエストでpreflightのレスポンスがHTTPステータスコード403で不正になる。
-
[解決済み] 適用がすでに進行中のエラー
-
[解決済み] シンプルなangularjsの日付入力
-
[解決済み] md-selectでデフォルト値を設定する方法
-
[解決済み] 新しい/分離されたスコープを求める複数のディレクティブ [ngController, ...] がある。
-
[解決済み] AngularJS: ngRouteが動作しない。
-
[解決済み] AngularJSとHandlebars - 両方必要なのかどうか
-
[解決済み] AngularJs .$setPristineでフォームをリセットする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】typeerrorは、未定義のプロパティ'data'を読み取ることができません。
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] ReferenceError: Angularは定義されていません。
-
[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
-
[解決済み] md-selectでデフォルト値を設定する方法
-
[解決済み] angularjsで$compileを操作する
-
AngularJSのベストプラクティス。ng-repeatの$indexに注意する。
-
[解決済み] ngInject'を本当に書く必要があるのか?
-
[解決済み] コントローラでフィルタを使用するには?
-
[解決済み] ng-repeat内のng-click関数にパラメータを追加しても、うまくいかないようです。