問題タブ [angular-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - リンクをクリックした後にAngularjsがビューテンプレートを変更する
リンクをクリックした後に html テンプレートを変更しようとしています。値はブール値、初期値は true で適切なテンプレートが読み込まれますが、値が false に変更されると新しいテンプレートが読み込まれず、理由がわかりません。ブール値の初期値が true の場合、他のテンプレートは正常にロードされますが、呼び出されたメソッドではロードされません。助けてください。これが私のコードです:
タスク Ctrl
task.html
entityList ディレクティブ
});
ディレクティブ テンプレート
{{taskCtrl.newTask}}
angularjs - angularjs でのコントローラーの依存性注入に関するヘルプが必要
こんにちは、angularjs コントローラー Method1 で依存性注入の 2 つの方法を見てきました。
方法 2:
method1 と method2 の違いは何ですか?
angularjs - angular $controller ローカル置換
サービスを使用$controller
してコントローラーを継承しています。
私はこのようなものを持っています
私はそれのinstedをparentController
使いたいです。しかし、うまくいきません。どうすればこの問題を解決できますか?myService
defaultService
angularjs - AngularJS: ルートとコントローラーのベスト プラクティス
私たちの会社では、現在、単一ページの Web アプリケーションに取り組んでいます。ユーザーはログインしてプロファイルにデータを入力し、それらを他の加入者と共有できます (これはソーシャル ネットワークのようなアプリケーションです)。今、私はこのスキーマを想像しました:
- ユーザー データは UserService によって提供され、REST API を使用してプロファイル情報を回復します。
- プロファイル関連のページは、独自のコントローラー (ProfileController) によって管理されます。
私の質問は: ルート (「view-profile」としましょう) を特定のコントローラー メソッド (ProfileController.viewProfile) に関連付ける最良の方法は何ですか? これはAngularJSの正しいパターンですか?
ありがとう!
angularjs - ControllerAs 使用時の Angular のネストされたディレクティブの問題
完全なフォームを構築するためにさまざまなディレクティブを呼び出す巨大なフォームを構築しています。Form Builder を呼び出すメイン ページは、次のように ng-model データを渡します。
次に、フォームビルダーページはさまざまな子ディレクティブを呼び出して、フォームのさまざまなセクションを構築します。
コントローラーで使用する場合、次のように子ディレクティブで$scope
問題なくアクセスできました。$scope
$scope
しかし、 を削除してを使い始めて以来ControllerAs
、親子コントローラーを使用した双方向バインディングへのアクセスにさまざまな問題が発生しています。
何をしようとしても、障害物に到達しています。私が試したことは次のとおりです。
- 分離スコープ:子ディレクティブに分離スコープとして
formData.formFields
and を渡そうとしましたが、ネストされた分離スコープが原因でエラーが発生するため、それは不可能です。formData.photoFields
$compile: MultiDir
- フォーム セクションごとに個別のディレクティブを持たず、それらすべてをディレクティブの下の 1 つのディレクティブに
formBuilder
含めると、膨大なディレクティブになります。上記は単なるスケッチですが、各子ディレクティブは最終的にまとめられた 1 つの大きなフォームを構築します。したがって、それらを一緒にマージすることは、保守が困難になり、読み取り不能になるため、実際には最後の手段です。 - 私がこれまで見てきたこと
ControllerAs
から、子ディレクティブから親ディレクティブにアクセスする方法はないと思います。Controller
- のような子ディレクティブ テンプレートの ng-model で親の ControllerAs を使用すると、正常に
<input type=“text” ng-model=“fb.formData.formFields.text" />
動作しますが、実行できない処理のために Child ディレクティブのコントローラーから同じものにアクセスする必要があります。 - を削除し
て再度
controllerAs
使用すると、以前と同じように機能しますが、将来の Angular の変更に備えるため$scope
に、 を完全に削除しようとしています。$scope
$scope
これは高度なフォームであるため、さまざまなフォーム セクションを処理するための個別のディレクティブが必要です。また、Angular 1.2 以降、ネストされた分離スコープが許可されていないため、特に使用を取り除こうとすると、さらに困難になりControllerAs
ます。
ここで私のオプションは何ですか?私の長い文章を読んでいただきありがとうございます。
javascript - AngularJS コントローラーで定義された JS 関数が機能しない
以下は私のコントローラーコードです:
次のように、チェックボックスで onClick を使用して、コードで shadowChange 関数を呼び出します。
HomeController を body タグに関連付けるだけでなく、(念のため) HomeController を使用して関連するコードを別の div にラップしました。Chrome インスペクターは、HomeController が正常にロードされていることを教えてくれます。
さらに、コントローラーの上部にある構成変数が適切に設定されています。
それでも、チェックボックスをクリックすると、shadowChange が定義されていないというエラーが表示されます。そこにある他の関数 renderHtml を (テストのためだけに) 試しても、同じエラーが発生します。それでも、私の別のアプリケーションでは、同じ方法で使用しており、正常に動作します。
コードが関数を認識できない原因がわかりません。
考え?
angularjs - アプリケーション Bootstrap でコントローラをロードするにはどうすればよいですか
開始ビューから別のビューで使用するコントローラーを初期化する必要があります。この目的のために、そのコントローラーから定義済みの setup() メソッドを呼び出したいと思います。
ユーザーが $stateProvider で定義された特定のビューに入るまで、初期化されていないため、これを行うことはできません。
そのコントローラーからのセットアップ機能を初期化するために、アプリケーションの起動時にコントローラーをロードするにはどうすればよいですか?